Ich habe zwei benutzerdefinierte Beitragstypen (z. B. post_type_1 und post_type_2), die ich zu unabhängigen Vorlagen (single-post_type_1.php und single-post_type_2.php) umleiten möchte, um deren Anzeige zu verwalten. Ich möchte die Anzeigevorlagen nicht in den Themenordner einfügen, da sie in ihren jeweiligen Plugin-Ordnern enthalten sein sollen.
Wie kann jeder von ihnen einen template_redirect-Hook registrieren, ohne den anderen zu beeinflussen? Oder sollte ich eine andere Technik verwenden?
Derzeit mache ich das in 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;
}
}
}
Und das in 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;
}
}
}
Sobald ich den template_redirect-Hook von Plugin 2 registriert habe, funktioniert Plugin 1 nicht mehr.
Vermisse ich etwas
Was ist der beste Weg, dies zu tun?