@ligisayan

Почему не применяется локализация в дочерней теме wordpress?

Сайт на wordpress. Создал локализованный перевод темы, хочу поместить его в папку дочерней темы lang Все делаю в соответствии с мануалом по ссылке В функции дочерней темы functions.php прописываю:
/**
 * Child theme language
 */
function my_child_theme_setup() {
    $path = get_stylesheet_directory() . '/lang';
    var_dump($path);
    load_child_theme_textdomain( 'child_theme_language', $path );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );

Но локализация не срабатывает... var_dump выводит string(67) "/hosting/home/domen/public_html/wp-content/themes/bolid-child/lang" Файлы перевода созданы правильно, т.к. если их закинуть по аналогичному пути родительской темы - все работает. В чем же причина?
  • Вопрос задан
  • 1143 просмотра
Решения вопроса 2
llgruff
@llgruff
PHP в прошлом, сейчас Scala. Не зовите меня на WP.
Перенесите файлы перевода в директорию /wp-content/languages/themes/
Ответ написан
@ligisayan Автор вопроса
Нашел самое правильное решение:
/**
 * Child theme language
 */
function my_child_theme_setup() {
    $path = get_stylesheet_directory() . '/lang';
    load_child_theme_textdomain( 'child_theme_language', $path );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );


Чтобы файл локализации можно было поместить в папку с дочерней темой нужно, чтобы обязательно! первый параметр в функции load_child_theme_textdomain() совпадал со вторым в вызове функции перевода! в данном случае 'child_theme_language'
_e( 'My translatable text goes here.', 'child_theme_language' );

и тогда названия файлом должны быть ru_RU.po и ru_RU.mo
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы