@RushV

Как указать путь к шаблону записей Вордпресс?

Добрый день!
Зарегистрировал новый тип записей "service". Создал шаблон для поста "single-.service.php".
Если файл "single-.service.php" загрузить в саму тему шаблон находит, а если например загрузить в папку например template то шаблон не находит.
Как правильно указывать пути к шаблонам?
вот код вывода постов
<?php $blog = new WP_Query( array( 'post_type' => 'service', 'posts_per_page' => 8 ) ); ?>
                        <?php while ( $blog->have_posts() ) : $blog->the_post(); ?>
	                     <div <?php post_class(); ?>>
                             <?php the_title(); ?>
        
                        <?php endwhile; ?>
                        <?php wp_reset_postdata(); ?>
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
В принципе, базовые шаблоны лучше оставлять именно там, где они должны быть - в корне папки темы. Если ходите сделать организацию файлов "чище" - есть 2 варианта:

1. Использовать template_parts для уникальных частей шаблонов. Таким образом у вас будет в корне только single.php или singular.php, а уже в них можно динамически забирать post_type и в зависимости от его значения, подключать необходимый фрагмент:
get_template_part( 'my-templates-dir/single', get_post_type() ); // подключить my-theme/my-templates-dir/single-service.php, где 'service' - динамическая часть, возвращаемая функцией get_post_type()


2. Хукаться в дефолтную иерархию темплейтов и подменять пути:
function custom_template( $template ) {

	if ( is_singular( 'service' )  ) {
		return get_template_directory() . '/template/my-custom-template.php';
	}

	return $template;
}
add_filter( 'template_include', 'custom_template', 99 );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
MedVedar
@MedVedar
e-commerce developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы