Дочерняя тема не использует дочерние файлы перевода

ЦЕЛЬ:

Я хочу перевести определенные слова родительской темы в файлы перевода, которые защищены от обновлений родительской темы.

ПОДХОД:

Я сохранил файлы .po и .mo на wp-content/themes/child-theme-name/languages/, в которых есть переведенные слова.

Я внес следующие изменения в дочерний файл functions.php:

function my_child_theme_locale() {
    load_child_theme_textdomain( 'total', get_stylesheet_directory() . '/languages' );
    
}
add_action( 'after_setup_theme', 'my_child_theme_locale' , 42 );

Я тоже пробовал это:

add_action("after_setup_theme", function () {

    load_theme_textdomain( 'rookie', get_stylesheet_directory() . '/languages' );

}, 5);

Ни то, ни другое не повлияло! переводы отображаются только тогда, когда я сохраняю файлы .mo и .po в папке wp-content/languages/themes, но здесь они не сохраняются из обновлений, поэтому это нежизнеспособно.

Может ли кто-нибудь помочь мне, как заставить файлы перевода работать в режиме сохранения обновлений?

Большое спасибо!

Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
0
0
9
1

Ответы 1

Вместо этого лучше загружать файлы перевода прямо в папку дочерних тем / языков. Следуйте инструкциям ниже.

  1. Используйте Poedit (или аналогичный инструмент) для создания файлов перевода.

Найдите нужный файл .pot в каталоге / languages, который находится в корне папки родительской темы. Используйте этот файл .pot в инструменте перевода, таком как Poedit, для создания файлов перевода .po и .mo.

  1. Отредактируйте файл functions.php дочерней темы.

В зависимости от вашей дочерней темы у вас может быть или не быть файла functions.php. Если вы этого не сделаете, создайте его в корне вашей дочерней темы.

Добавьте следующий код в файл functions.php:

function child_theme_slug_setup() {
    load_child_theme_textdomain( 'parent-theme-slug', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'child_theme_slug_setup' );
  1. Добавьте файлы перевода.

Загрузите файлы .po и .mo в каталог / wp-content / themes / child-theme / languages. Если в вашей дочерней теме нет папки / languages, создайте ее. Имена файлов должны иметь следующий формат: es_ES.po & es_ES.mo (пример для испанского перевода). Имена ваших файлов не должны включать заголовок темы.

Имена ваших файлов будут использовать текстовый домен родительской темы, которую вы переводите. Итак, если вы переводите Vendd на испанский язык, ваши пути к файлам будут /wp-content/themes/child-theme/languages/es_ES.po и /wp-content/themes/child-theme/languages/es_ES.mo.

Другие вопросы по теме