Intereting Posts

Get_template_part внутри папки

Поэтому у меня есть следующий код для поиска шаблонов внутри настраиваемой темы, над которой я работаю:

<?php $my_theme = wp_get_theme(); get_template_part( 'masthead', $my_theme->Template); ?> 

В основном, что он делает, заключается в том, что он выполняет поиск файла под названием «masthead-themename.php». Если этот файл не существует, он ищет файл с именем «masthead.php». Это работает так, как ожидалось.

Тем не менее, я хотел бы иметь что-то, что ищет файл внутри папки с именем «шаблоны» в качестве первого параметра, а если нет, то поиск имени шаблона в корневой папке темы.

Я попробовал это

 <?php $my_theme = wp_get_theme(); get_template_part( 'templates/masthead', $my_theme->Template); ?> 

Но это работает только в том случае, если файл существует в папке шаблона. Если файл существует в папке темы root, он не распознает его.

Есть идеи?

Благодаря!

Solutions Collecting From Web of "Get_template_part внутри папки"

Я предполагаю, что у вас есть файл в templates/masterhead-templatename.php , и он работает, это нормально.

Исправьте меня, если я ошибаюсь, вы хотите найти этот файл, как этот masterhead-templatename.php , в основном одна папка вверх, но эта функция wordpress не работает так.

Если файл существует в папке темы root, он не распознает его.

Он не должен этого делать. Он ищет файлы templates/masterhead.php , поскольку templates/masterhead-templatename.php не найден.


Спецификация функции get_template_part( 'templates/masthead', $my_theme->Template); ищет:

 STYLESHEETPATH/templates/masthead-themename.php STYLESHEETPATH/templates/masthead.php TEMPLATEPATH/templates/masthead-themename.php TEMPLATEPATH/templates/masthead.php 

Какой файл найден, который включен, и поиск, очевидно, останавливается.