Tôi có hai loại bài đăng tùy chỉnh (ví dụ post_type_1 và post_type_2) mà tôi muốn chuyển hướng đến các mẫu độc lập (single-post_type_1.php và single-post_type_2.php) để xử lý hiển thị của chúng. Tôi không muốn đặt các mẫu hiển thị trong thư mục chủ đề vì tôi muốn chúng tự chứa trong các thư mục plugin tương ứng của chúng.
Làm thế nào tôi có thể yêu cầu mỗi người trong số họ đăng ký hook template_redirect mà không ảnh hưởng đến cái khác? Hay tôi nên sử dụng một kỹ thuật khác?
Hiện tại, tôi đang làm điều này trong 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;
}
}
}
Và điều này trong 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;
}
}
}
Khi tôi đăng ký hook template_redirect của plugin 2, plugin 1 không còn hoạt động nữa.
Tui bỏ lỡ điều gì vậy?
Cách tốt nhất để làm việc này là gì?