Как заставить WP всегда сначала проверять папку дочерней темы при запуске get_template_part
?
Пример: ребенок тема нагрузки get_template_part('content', 'inventory')
в single.php
. Поскольку все дочерние темы (а их много) имеют общую базу шаблонов инвентаризации, файл content-inventory.php
находится в родительской теме. Все идет нормально.
Я хотел бы добавить небольшой раздел к указанному шаблону инвентаря, который будет уникальным для каждой дочерней темы. Добавление get_template_part('content', 'inventory-special')
в content-inventory.php
не проверит каталог дочерней темы первым.
get-template-part
м-Torin
источник
источник
Ответы:
По умолчанию. В
get_template_part()
функции использования ,locate_template()
которая каскадами через файлы шаблонов в в порядке специфичности и stylesheetpath / templatepath.Итак, если ваша детская тема включает в себя
content-inventory.php
, тоget_template_part()
включит ее; если нет, то это будет искатьcontent-inventory.php
в родительской теме. Если он не найдет его, он будет искатьcontent.php
сначала в дочернем, а затем в родительском.РЕДАКТИРОВАТЬ:
Понимание того, что вы имеете в виду; уточни пожалуйста если я не правильно понял ...
Вы хотите включить новый файл детали шаблона в файл шаблона Parent-Theme с именем
content-inventory.php
, верно?Единственный способ, AFAIK, который вы можете сделать, это скопировать
content-inventory.php
в свою тему ребенка , а затем добавить новыйget_template_part()
вызов, где это необходимо.Если файл с именем
content-inventory.php
включен в обоих Родителя и ребенка тему, то WordPress будет всегда использовать Child Theme версию, если он включен , используяget_template_part()
.источник
content-inventory.php
. Кодекс и простой опыт ясно дают понять. Однако, если искомый файл (уровень 2) находится в папке родительской темы, WP не перепроверяет дочернюю тему на предмет содержимого в искомомget_template_part
файле (включает в себя третий уровень). Это сработало для вас по-другому?get_template_part()
делает это по умолчанию.источник