Modelo para publicação específica de tipo de postagem personalizado

Eu tenho o “evento” do CPT. Criei um único evento.php.

Eu quero um evento específico para usar um modelo diferente de um evento único.

Eu li em outro lugar que isso poderia ser feito criando um único evento- [slug] .php, mas eu tentei e isso não funciona. WP usa single-event.php. (Não consigo encontrar isso na documentação do WordPress, então estou pensando que talvez eu tenha entendido mal?)

Existe alguma forma de fazer isso?

Solutions Collecting From Web of "Modelo para publicação específica de tipo de postagem personalizado"

Para os modelos que o WordPress usa, consulte sempre o esquema de hierarquia do modelo no Codex.

Como você pode ver lá, single-{$posttype}-{$slug}.php não existe, há apenas single-{$posttype}.php .

Para fazer o que quiser, dê uma olhada no filtro 'single_template' :

 add_filter( 'single_template', function( $template ) { global $post; if ( $post->post_type === 'event' ) { $locate_template = locate_template( "single-event-{$post->post_name}.php" ); if ( ! empty( $locate_template ) ) { $template = $locate_template; } } return $template; } ); 

Depois de adicionar isso em suas functions.php , você pode criar o arquivo single-event-{$slug}.php e será carregado pelo WordPress.

Use este código em seu arquivo de funções para um tema filho e mude o 8 para o post iD no qual você deseja usar o modelo CPT personalizado.

 function get_custom_post_type_template($single_template) { global $post; if ( is_single('8') ) { $single_template = get_stylesheet_directory() . '/custom-cpt-template.php'; } return $single_template; } add_filter( 'single_template', 'get_custom_post_type_template' );