Es wird versucht, eine benutzerdefinierte Seitenvorlage für Beitragstypen aus dem Plugin in das Sage 10-Design einzufügen

Lesezeit: 2 Minuten

Benutzer-Avatar
Devon regelmäßig

Wie der Titel schon sagt, erstelle ich ein Sage 10-Thema (wir verwenden KEIN Grundgestein). Diese Website erfordert einen benutzerdefinierten Beitragstyp “Lautsprecher”, der auch mit einer single-speaker.php-Seite geliefert wird, um die Informationen anzuzeigen. Alle diese Funktionen wurden in ein Plugin geschrieben, aber ich habe Probleme, die Seitenvorlage in das Design einzufügen.

Der benutzerdefinierte Beitragstyp und die Metabox funktionieren, und ich kann auch die Werte abrufen. Die Seite single-speaker.php funktioniert jedoch nicht. Ich habe versucht:

add_filter('single_template', 'speaker_single_template');

function speaker_single_template($single) {

    global $post;

    /* Checks for single template by post type */
    if ( $post->post_type == 'speaker' ) {
        if ( file_exists( SPEAKER_PLUGIN_URL . '/templates/single-speaker.php' ) ) {
            return SPEAKER_PLUGIN_URL . '/templates/single-speaker.php';
        }
    }

    return $single;

}

Ich hätte gedacht, dass dieser Filter die Vorlagenseite in das Thema verschoben hätte, aber das ist es einfach nicht.

Gibt es ein Problem, wenn Sage Blade-Direktiven verwendet? Ich hatte angenommen, dass die Standard-PHP-Seiten noch funktionieren würden.

Sie können verwenden single_template Filterhaken.

add_filter('single_template', function ($single) {
global $post;
/* Checks for single template by post type */
if ( $post->post_type == 'POST TYPE NAME' ) {
    if ( file_exists( PLUGIN_PATH . '/Custom_File.php' ) ) {
        return PLUGIN_PATH . '/Custom_File.php';
    }
}
return $single;});

  • Danke, aber das ist der Code, den ich habe, von dem ich sagte, dass er nicht funktioniert

    – Devon Regular

    gestern

  • Tut mir leid, versuchen Sie es mit diesem Filter unter template_redirect Haken bzw init Haken. Der Grund dafür, dass es nicht funktioniert, ist, dass ich denke, dass Ihr Plugin nach dem Laden geladen wird single_template Haken oder Filter

    – Abdel Hanan

    gestern

  • Ja, wo ich Sage 10 verwende, selbst wenn ich die single-speaker.php-Datei in das Theme-Stammverzeichnis lege, wird es nicht funktionieren, weil es mich zwingt, das content-signle-speaker.blade.php-Format zu verwenden. Ich werde den Redirect-Hook ausprobieren, danke

    – Devon Regular

    gestern

  • leider hat beides nicht funktioniert. D: Vielen Dank für Ihre Zeit

    – Devon Regular

    gestern

1016310cookie-checkEs wird versucht, eine benutzerdefinierte Seitenvorlage für Beitragstypen aus dem Plugin in das Sage 10-Design einzufügen

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

Privacy policy