Auto get_header und get_footer für jede Vorlage?


7

Gibt es eine Möglichkeit, get_header()am Anfang und get_footer()am Ende der Vorlage automatisch ausgeführt zu werden ?

Derzeit wiederholt sich mein Code bei diesen Aufrufen zu oft.

Ich habe nach einer Möglichkeit gesucht, dies zu tun, kann sie jedoch in Google nicht finden.


2
Aufrufen get_header()und get_footer()direkt ist der geeignete Weg, dies in Ihren Vorlagen zu tun.
Pieter Goosen

1
@PieterGoosen Ich verstehe, wenn das die empfohlene Art ist, denke ich, sollte ich damit leben. Es ist nur so, dass get_header()es nicht sauber erscheint , jede einzelne Vorlagendatei zu haben.
Hrsetyono

Antworten:


11

Betrachtet man wp-includes/template-loader.php… es scheint einen Weg zu geben:

if ( $template = apply_filters( 'template_include', $template ) )
    include( $template );

Sie können sich in diesen Filter einbinden, das Einschließen in eine Rückruffunktion übernehmen und zurückkehren FALSE.

Beispielcode, nicht getestet:

add_filter( 'template_include', function( $template ) {

    get_header();
    include $template;
    get_footer();

    return FALSE;
});

Du bist der Mann! Dies sollte Standard sein! VIELEN DANK
hrsetyono

@DarcCode: Ich bin damit einverstanden, dass diese Funktionsaufrufe automatischer erfolgen sollten, aber obwohl dies für Sie funktioniert, schränkt es die Flexibilität der einzelnen Vorlagendateien ein - das heißt, es wird unmöglich, zuvor Code get_header()in eine Vorlagendatei einzufügen ist manchmal ganz bequem.
s_ha_dum

Es stimmt, ich lerne immer noch WordPress, also habe ich noch keine komplexe Seite erstellt. Aber in welchem ​​Fall müssen Sie vorher Code eingeben get_header?
Hrsetyono

1
Ich hatte vor dem Header nicht viele Anwendungsfälle für Inhalte gesehen , diese Funktionen akzeptieren jedoch das Argument für den Namen der Kopf- / Fußzeile zum Laden verschiedener Header, was bei komplexeren Sites sehr erforderlich sein kann.
Rarst

@Rarst, das ist ein guter Punkt zu erwähnen ... Das aktuelle Beispiel ist in seiner Flexibilität eingeschränkt. Sie können es weiter erweitern und Ihren eigenen Filter hinzufügen, um optional die Kopf- ($ params) / Fußzeile ($ params) zu übergeben.
Adam

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.