Saya memiliki dua jenis pos khusus (mis. Post_type_1 dan post_type_2) yang ingin saya alihkan ke template independen (single-post_type_1.php dan single-post_type_2.php) untuk menangani tampilan mereka. Saya tidak ingin meletakkan templat tampilan di folder tema karena saya ingin mereka mandiri dalam folder plugin masing-masing.
Bagaimana saya dapat meminta masing-masing dari mereka mendaftarkan hook template_redirect tanpa mempengaruhi yang lain? Atau haruskah saya menggunakan teknik yang berbeda?
Saat ini, saya melakukan ini di 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;
}
}
}
Dan ini di 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;
}
}
}
Setelah saya mendaftarkan pengait template_redirect plugin 2, plugin 1 tidak lagi berfungsi.
Apakah saya melewatkan sesuatu?
Apa cara terbaik untuk melakukan ini?