WordPress-Plugin benutzerdefinierter Beitragstyp Einzelseite

Lesezeit: 1 Minute

Ich arbeite an einem WordPress-Plugin, das einen benutzerdefinierten Beitragstyp erstellt. Dieser benutzerdefinierte Beitragstyp benötigt eine eigene single.php-Seite. Ich weiß, dass ich in meinem Design einfach eine Datei namens single-{custom post type}.php erstellen kann, aber ich brauche diese Datei im Plugin-Verzeichnis selbst. Wie bringe ich WordPress dazu, zu erkennen, dass ich die single-posttype.php aus meinem Plugin-Verzeichnis anstelle meines Theme-Verzeichnisses verwenden möchte?

Hier ist, was ich benutze, nur ersetzen dirname(__FILE__) .'/templates/ mit welcher Verzeichnisstruktur auch immer Sie haben. Das Schöne daran ist, dass standardmäßig die richtige Themendatei verwendet wird, wenn Sie keine “Override” -Datei in der Datei haben $file Lage.

add_filter( 'single_template', 'override_single_template' );
function override_single_template( $single_template ){
    global $post;

    $file = dirname(__FILE__) .'/templates/single-'. $post->post_type .'.php';

    if( file_exists( $file ) ) $single_template = $file;

    return $single_template;
}

Und natürlich können Sie dasselbe mit mit tun

archive_template

und

 $file = dirname(__FILE__) .'/templates/archive-'. $post->post_type .'.php';

  • Klappt wunderbar. Danke mein Herr!

    – Dominik Allen

    11. Mai 2018 um 18:10 Uhr

1434910cookie-checkWordPress-Plugin benutzerdefinierter Beitragstyp Einzelseite

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy