Уникальные шаблоны для разных записей single-{post_type}.php
Приветствую! Для своего сайта сделал произвольный тип записей:
add_action( 'init', 'our_service' );
function our_service(){
register_post_type( 'our_service', array(
'public' => true,
'labels' => array(
'name' => 'Услуги JCBS',
'all_items' => 'Все услуги',
'add_new' => 'Добавить новую услугу',
'add_new_item' => 'Добавить услугу',
'featured_image' => 'Изображение',
'set_featured_image' => 'Добавить изображение',
'remove_featured_image' => 'Удалить изображение',
'use_featured_image' => 'Использовать изображение'
),
'supports' => array('title', 'editor', 'thumbnail'),
'menu_icon' => 'dashicons-arrow-right'
));
};
Далее сделал уникальный шаблон single-{post_type}.php
В моем случае single-our_service.
Однако теперь есть необходимость сделать для каждой страницы услуги (записи) свой уникальный шаблон. То-есть в данный момент необходимо добавить возможность для каждой записи выбирать через админку WordPress свой собственный, заранее подготовленный, шаблон записи для произвольного типа поста. Такое возможно сделать?
Я знаю такой способ:
function custom_single_template( $single_template ) { if ( in_category( 'идкатегории' ) ) { $file = get_template_directory() .'/single-our_service.php'; if ( file_exists( $file ) ) { return $file; } } return $single_template; } add_filter( 'single_template', 'custom_single_template' );идкатегории - указываете ID рубрики, которую нужно оформить под свой стиль
После, все записи в этой категории будут иметь свой вывод записи в single-our_service.php
Автоматического способа через админку не встречал, но при желании можно и такое реализовать, также встречал на гитхабе иерархический класс, разделяющий single-{post_type}.php записи и категории, но сейчас уже не вспомню, как он назывался. Что то типа Template Hierarchy
https://wp-kama.ru/function/register_post_type#supports
а именно наверное нужно добавить "page-attributes"
а потом видимо вот так
https://wp-kama.ru/id_8577/shablony-stranitsy-dlya-tipov-zapisej-v-wp-4-7.html