загрузить дочернюю тему textdomain не работает в function.php
У меня есть дочерняя тема, которая не локализована. Поэтому я добавил это в function.php
add_action( 'after_setup_theme', 'my_child_theme_setup' );
function my_child_theme_setup() {
load_child_theme_textdomain( 'mytheme', get_stylesheet_directory() . '/languages' );
}
Это не работает. Я искал часами и прочитал, что кто-то посоветовал поставить это на первое место header.php
load_child_theme_textdomain( 'mytheme', get_stylesheet_directory() . '/languages' );
Внезапно он начал работать.
Проблема решена, но мне все еще любопытно, почему законный способ не сработал. У кого-нибудь из вас есть объяснение?
1 answers
Прежде всего, пожалуйста, следите за своим языком. Если в вашем коде есть ругательства, пожалуйста, удалите его, прежде чем публиковать свой код.
Хорошо, чтобы перейти к вашему вопросу, в вашем коде нет ничего плохого. Это выглядит разумно. Какую родительскую тему вы используете?
У меня есть дочерняя тема, которая не локализована
Вам следует взглянуть на то, как локализованы ваши строки. Вам также следует обратить внимание на имена ваших языковых файлов. Иди и посмотри на кодекс . Всегда помните, используйте кодекс в качестве ссылки. Вы также можете пойти и взглянуть на этот учебник, чтобы получить некоторое представление.
Кроме того, вы должны быть готовы идти
РЕДАКТИРОВАТЬ
Я хотел бы сохранить первую часть этого ответа в качестве ссылки для других. Ваш вопрос озадачил меня, а затем он поразил меня, как молния, я также пропустил самую очевидную ошибку, ваш шаблон назван неправильно.
Существует огромная разница между function.php
и functions.php
. Wordpress автоматически знает и использует functions.php
в качестве шаблона основных функций в теме. Этот шаблон не нужно вызывать. С другой стороны, function.php это просто шаблон без иерархии. Этот шаблон должен быть каким-то образом вызван в вашей теме, чтобы wordpress знал, когда и как использовать этот шаблон.
Итак, отвечая на ваш вопрос, просто переименуйте свой function.php
в functions.php