загрузить дочернюю тему 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' );

Внезапно он начал работать.

Проблема решена, но мне все еще любопытно, почему законный способ не сработал. У кого-нибудь из вас есть объяснение?

Author: Pieter Goosen, 2014-03-30

1 answers

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

Хорошо, чтобы перейти к вашему вопросу, в вашем коде нет ничего плохого. Это выглядит разумно. Какую родительскую тему вы используете?

У меня есть дочерняя тема, которая не локализована

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

Кроме того, вы должны быть готовы идти

РЕДАКТИРОВАТЬ

Я хотел бы сохранить первую часть этого ответа в качестве ссылки для других. Ваш вопрос озадачил меня, а затем он поразил меня, как молния, я также пропустил самую очевидную ошибку, ваш шаблон назван неправильно.

Существует огромная разница между function.php и functions.php. Wordpress автоматически знает и использует functions.php в качестве шаблона основных функций в теме. Этот шаблон не нужно вызывать. С другой стороны, function.php это просто шаблон без иерархии. Этот шаблон должен быть каким-то образом вызван в вашей теме, чтобы wordpress знал, когда и как использовать этот шаблон.

Итак, отвечая на ваш вопрос, просто переименуйте свой function.php в functions.php

 2
Author: Pieter Goosen, 2014-03-30 04:42:47