Как изменить значение lang="en-US" в HTML-документе?
Я заметил, что в теге <html>
на моем сайте WordPress язык определен как американский английский.
<html lang="en-US" prefix="og: http://ogp.me/ns#">
Я хотел бы изменить его на британский английский en-GB
, но не уверен, какой способ лучше.
Я покопался и нашел language_attributes()
в general-template.php
, который делает вызов к get_bloginfo('language')
. Я мог бы вручную вставить значение здесь, но это не кажется лучшим способом.
Какой правильный способ изменить это значение?

Значение этой строки обычно берется из опции WPLANG
в таблице базы данных $prefix_options
. Вы можете задать его в панели управления в разделе Настройки/Общие (wp-admin/options-general.php
) или через SQL.
Существует несколько способов изменить это значение с помощью PHP:
Создайте глобальную переменную
$locale
в вашем файлеwp-config.php
:$locale = 'ru_RU';
Объявите константу
WPLANG
в вашем файлеwp-config.php
:define( 'WPLANG', 'ru_RU' );
Этот способ устарел, но все еще работает.
Используйте фильтр
locale
:add_filter( 'locale', function() { return 'ru_RU'; });
Это очень гибкий способ, так как вы можете добавить дополнительные условия в эту функцию, например проверку ID текущего сайта в мультисайте.

Что касается последних версий WordPress 4+, решение, представленное здесь, устарело. Пожалуйста, ознакомьтесь с моим ответом здесь для получения более подробной информации

Ответ должен быть больше, чем просто ссылка. Пожалуйста, добавьте решение.
