Нашел решение, может кому-то ещё пригодиться. Мой метод будет работать
только в одном случае иные варианты исключены (это касается привязки не только по слагу, но и по ID).
Решение:
создать фильтр через "template_include"
Исходные данные: в папке /calendar/ лежат два файла:
- events.php - выводит общий список постов произвольного типа записей events
- event.php - выводит конкретное событие
add_filter('template_include', 'my_template');
function my_template($template)
{
global $post;
if( $post->post_type == 'events' ){
return get_stylesheet_directory() . '/calendar/event.php';
}
return $template;
}