Wofür benötige ich Page-Templates?
Ich benötige Templates immer dann, wenn ich einen anderen Aufbau meiner WordPress Website wünsche.
Beispielsweise wäre es denkbar ein Template zu gestalten, das eine eigene Seitennavigation hat, obwohl der Rest der Website keine hat!
Mit WordPress kann ich jede einzelne Seite extra stylen, ich kann jedem Bereich, jeder URL ein eigenständiges Design geben.
Page Templates helfen hier, neben der normalen Template Hierarchie.
Das ist der Zauber von WordPress: Die Möglichkeit, umfangreich Dinge anzupassen. Ganz nach den eigenen Vorlieben.
Wie verwendet man nun Page Templates?
Anlegen eines Templates
Wichtig ist es im Kopf der Datei direkt anzugeben, dass es sich um ein Template handelt.
Etwas unkonventionell (für Programmierer anderer System) wird das mittels Kommentar gehandhabt. Die Grundstruktur ist also wieder sehr ähnlich zu den anderen Seiten. Ich muss es aber auf jeden Fall als Template deklarieren. Den Namen den ich hier vergebe, sieht der User später im Dropdown Menü seiner Templates.
<?php /* Template Name: Mein erstes Template */ get_header(); ?> <!-- HTML CODE --> <?php get_footer() ?>
Erstelle ich als nun eine neue Seite und füge das Template beim Erstellen der Seite hier hinzu,
so kann ich die Seite bereits mit dem neuen Design des Templates aufrufen.
Einbinden von Template-Sektionen in der Seite
Natürlich kann ich ganz normal zu Template-Seiten verlinken und diese als eigenständige Seiten verwenden.
Ich habe aber auch die Möglichkeit Template Parts in die Front-Page einzubinden mittels dieser Funktion.
get_template_part( 'name_template' );
Achtung: Hier muss auch der Ordner angegeben werden, indem sich das Template befindet!
Mit Hilfe von set_query_var kann ich beispielsweise Variablen-Werte von der Startseite (Front-Page) auch im Template nutzen und so individuell Werte zuweisen.
set_query_var( 'var_name', $variable );
Man sieht also, dass man mit Templates durchaus „kreativ“ arbeiten kann und sie nicht nur rein als „andere Formatierung“ der Seite verwenden muss/sollte!
Weiterführende Links
- https://developer.wordpress.org/themes/template-files-section/page-template-files/
- https://developer.wordpress.org/themes/basics/template-hierarchy/
- https://developer.wordpress.org/reference/functions/get_template_part/
- https://developer.wordpress.org/themes/template-files-section/page-template-files/