Ho due tipi di post personalizzati (ad esempio post_type_1 e post_type_2) che vorrei reindirizzare a modelli indipendenti (single-post_type_1.php e single-post_type_2.php) per gestirne la visualizzazione. Non voglio mettere i modelli di visualizzazione nella cartella dei temi perché li voglio autonomi nelle rispettive cartelle dei plugin.
Come posso fare in modo che ognuno di essi registri un hook template_redirect senza influire sull'altro? O dovrei usare una tecnica diversa?
Attualmente, lo sto facendo nel plugin 1:
add_action( 'template_redirect', 'template_redirect_1' );
function template_redirect_1() {
global $wp_query;
global $wp;
if ( $wp_query->query_vars['post_type'] === 'post_type_1' ) {
if ( have_posts() )
{
include( PATH_TO_PLUGIN_1 . '/views/single-post_type_1.php' );
die();
}
else
{
$wp_query->is_404 = true;
}
}
}
E questo nel plugin 2:
add_action( 'template_redirect', 'template_redirect_2' );
function template_redirect_2() {
global $wp_query;
global $wp;
if ( $wp_query->query_vars['post_type'] === 'post_type_2' ) {
if ( have_posts() )
{
include( PATH_TO_PLUGIN_2 . '/views/single-post_type_2.php' );
die();
}
else
{
$wp_query->is_404 = true;
}
}
}
Una volta registrato l'hook template_redirect del plugin 2, il plugin 1 non funziona più.
Mi sto perdendo qualcosa?
Qual è il modo migliore per farlo?