WordPress: Как добавить директорию для поиска шаблонов?
Как известно мы можем подключать шаблоны к созданным страницам. Мы просто в начале файла в комментариях указываем Template name: Имя шаблона. После кладем его в директорию например /pages и после в админке указываем созданный шаблон для страницы.
Моя проблема: Мои шаблоны лежат по пути templates/pages/ и wordpress не видит мои шаблоны. Так как он не видит шаблоны которые лежат на 2м/3ем уровне директорий
Попытки решения: Я нашел вот такой способ который возвращает имена файлов, а не названия шаблонов.
add_filter( 'theme_page_templates', function( $templates ){
$templates_dir = 'templates/pages/';
$templates_files = scandir(locate_template($templates_dir));
foreach ( $templates_files as $file ) {
if ( $file == '.' || $file == '..') continue;
$name = explode('.', $file);
$templates[$templates_dir.$file] = $name[0];
}
return $templates;
});
Вопрос: Как можно переделать мой код чтобы он возвращал названия шаблонов или может есть другой более удобный способ?
Ответы (1 шт):
Шаблоны темы находятся в её корне. Но в них можно подключать части, находящиеся в подкаталоге с помощью get_template_part
Например
get_template_part( 'inc/nav' ); // подключит файл inc/nav.php