Intereting Posts
301 перенаправление для конвертированного типа сообщения Найти последнюю / опубликованную версию сообщения, используя wp-cli wp_update_post () пустой экран Слизы как панировочные сухари для страниц WP MU сломан, ошибки базы данных по wp_versions_check alt прикрепленного изображения в сообщении / страницах Как публиковать новый пост и таксономический термин с одинаковым названием вместе? Отображать пользовательское сообщение, если пользовательское поле отмечено При добавлении страницы WordPress в меню она преобразуется в пользовательскую ссылку Как отобразить пользовательские таксономии в сообщениях? Поиск по категориям, отображающим неправильные позиции WordPress White Screen перенаправляется с панели управления Пользовательский запрос для отображения сообщений с настраиваемым полем Отображение настраиваемого поля для внешней внешней линии, на всей территории Попытка удалить миниатюру сообщения с помощью плагина

Ссылка на файл .po в дочерней теме

Я работаю над 20-летней детской темой, я хочу изменить

load_theme_textdomain( 'twentyten', TEMPLATEPATH . '/languages' ); $locale = get_locale(); $locale_file = TEMPLATEPATH . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) require_once( $locale_file ); 

найдите в функциях двадцать один в моей дочерней теме:

 load_theme_textdomain( 'BETA', STYLESHEETPATH . '/languages' ); $locale = get_locale(); $locale_file = STYLESHEETPATH . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) require_once( $locale_file ); 

С этим изменением в stylesheetpath функция двадцать десять по-прежнему использует мою собственную функцию. Как я могу это исправить?

Вам нужно будет использовать функцию load_child_theme_textdomain() .

Кроме того, здесь есть интересная дискуссия .

Если вам нужно загрузить языковые файлы из подкаталога в дочернем каталоге темы, вы можете использовать:

 load_child_theme_textdomain( 'PARENT THEME DIRECTORY NAME', dirname(__FILE__) . '/LANGUAGE FILES SUBDIRECTORY NAME' ); 

Например, если ваше название родительской темы – «идеальная тема», а имя дочерней темы – «идеальный-тема-ребенок», а языковые файлы находятся в поддиректории «языки» дочерней темы, код будет выглядеть следующим образом:

 load_child_theme_textdomain('perfect-theme', dirname(__FILE__) . '/languages'); 

Код будет работать только в том случае, если файл языка имеет соответствующее имя, что означает, что оно должно иметь имя LOCALE.mo, где LOCALE – это текущие настройки языка в wordpress admin.

Например, если ваш текущий язык является испанский, wordpress будет искать файл с именем es_ES.mo.

Существует несколько подходов к этому: во-первых, вы можете просто удалить функцию с крючка, к которой подключен обратный вызов обертки.

 // Wrapper callback: twentyten_setup() add_action( 'after_setup_theme', 'twentyten_setup' ); // Inside a child themes functions.php file - wrapped up in a callback, hooked to the same hook: remove_action( 'after_setup_theme', 'twentyten_setup' ); 

Но тогда вам придется заменить весь процесс установки темы.

Легче, как и в ответе @Piero, вы могли бы просто загрузить textdomain из дочерней темы. Разница с другим ответом заключается в том, что в этом примере используется соответствующее корневое местоположение и может быть помещено в дочерний или родительский файл functions.php темы.

Примечание. Если помещено в родительский файл тем, это приведет к тому, что дочерняя тема будет иметь папку languages которой хранятся файлы перевода.

 load_child_theme_textdomain( 'perfect-theme', get_stylesheet_directory().'/languages' );