Как добавить атрибут страницы "Шаблон" для произвольного типа записи
Подскажите, пожалуйста, возможно ли это?
Я создал произвольный тип записи, но нигде не могу найти информацию о том, как добавить возможность выбора шаблона страницы:
function trav_register_region_post_type() {
$labels = array(
'name' => _x( 'Регионы', 'Общее название типа записи', 'trav' ),
'singular_name' => _x( 'Регион', 'Название отдельного элемента', 'trav' ),
'menu_name' => __( 'Регионы', 'trav' ),
'all_items' => __( 'Все регионы', 'trav' ),
'view_item' => __( 'Просмотр региона', 'trav' ),
'add_new_item' => __( 'Добавить новый регион', 'trav' ),
'add_new' => __( 'Новый регион', 'trav' ),
'edit_item' => __( 'Редактировать регионы', 'trav' ),
'update_item' => __( 'Обновить регионы', 'trav' ),
'search_items' => __( 'Поиск регионов', 'trav' ),
'not_found' => __( 'Регионы не найдены', 'trav' ),
'not_found_in_trash' => __( 'Регионы не найдены в корзине', 'trav' ),
);
$args = array(
'label' => __( 'регион', 'trav' ),
'labels' => $labels,
'public' => true,
'hierarchical' => true,
'has_archive' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'publicly_queryable' => true,
'supports' => array( 'title', 'editor', 'thumbnail', 'page-attributes'),
'exclude_from_search' => false,
'capability_type' => 'page'
);
register_post_type( 'region', $args );
}

Начиная с версии WordPress 4.7, шаблоны типов записей включены в ядро WordPress.
Вам не нужно указывать шаблоны в функции register_post_type
.
Вместо этого просто создавайте шаблоны записей так же, как вы делаете это с обычными шаблонами страниц.
Например, скопируйте файл single.php, переименуйте его и добавьте следующий код в начало файла:
<?php
/*
Template Name: Название моего шаблона записи
Template Post Type: post, region
*/
После этого в админ-панели, в данном случае для типов записей "post" и "region", вы увидите блок "Атрибуты записи", где можно выбрать ваш шаблон.
Дополнительную информацию можно найти здесь: https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/
Также вы можете прочитать о стандартных (старых) шаблонах страниц в WordPress здесь.
Надеюсь, это то, что вы искали.
