У мене є два спеціальні типи публікацій (наприклад, post_type_1 та post_type_2), які я хотів би перенаправити на незалежні шаблони (single-post_type_1.php та single-post_type_2.php), щоб обробити їх показ. Я не хочу розміщувати шаблони відображення в папці тем, оскільки я хочу, щоб вони містилися у відповідних папках плагінів.
Як я можу змусити кожного з них зареєструвати гачок template_redirect, не впливаючи на іншого? Або я повинен використовувати іншу техніку?
Наразі я це роблю в плагіні 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;
}
}
}
І це в плагіні 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;
}
}
}
Щойно я реєструю гачок template_redirect плагіна 2, плагін 1 вже не працює.
Я щось пропускаю?
Який найкращий спосіб зробити це?