Formulare und Funktionen in benutzerdefinierte Seitenvorlagen einbetten
Im Allgemeinen sollen alle Unterseiten einer Website oder eines Blogs, von kleineren Unterschieden einmal abgesehen, ein einheitliches Design erhalten. Das Erstellen von unterschiedlichen Seitenvorlagen wird aus besagtem Grund nur selten erforderlich werden. Dennoch ist das Erstellen von speziellen und benutzerdefinierten Seitenvorlagen problemlos möglich und soll im Zusammenhang mit dem Implementieren von Formularen und einfachen Funktionen, darunter eine Suchfunktion, in einem für diese Aufgaben angelegten Template etwas näher beschrieben werden.
Übersicht, Varianten und Code-Listings:
- Benutzerdefinierte Seitenvorlagen erstellen
- Eine Seitenvorlage mit Formular für Benutzereingaben (mit Auswertung der Eingaben)
- Formular als Auswahlliste mit Radio-Buttons (als Demo)
- Seitenvorlage zum Auflisten von statischen Seiten (als Übersichtsseite)
- Auflistung von statischen Seiten (Beispielseite)
Erstellung von benutzerdefinierten Seitenvorlagen
Variante I (für einzelne statische Seiten geeignet):
Für die Erstellung individueller Page Templates bietet WordPress unterschiedliche Lösungswege an. Zuerst eine recht einfach zu realisierende Lösung. Angenommen Ihre WordPress-Installation besitzt eine statische Seite, die unter dem Permalink “www.example.com/impressum/” erreichbar ist. Alles was Sie nun noch tun müssten, eine neue Datei als Seitenvorlagen bzw. Page Template unter dem Dateinamen
page-impressum.php
innerhalb Ihres Themes abspeichern. Statt page-slug.php können Sie hier auch eine ID wie bei page-365.php verwenden. Kleiner Hinweis, ein Slug enthält den URL-Seitennamen bzw. die URL-Version des Titels, insofern der URL-Seitenname nicht angepasst wurde. WordPress wird die Seitenvorlage automatisch finden und für die jeweilige statische Seite mit dem entsprechenden Slug oder mit der entsprechenden ID verwenden.
Beispiel (page-impressum.php):
<?php get_header(); ?> <div id="primary" class="site-content"> <div id="content" role="main"> <p>Hier soll der Inhalt ausgegeben werden.</p> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?>
Variante II (als Template-Vorlage für mehrere statische Seiten):
Die erste Variante ist gut geeignet, wenn die Datei nur als Vorlage für eine Seite genutzt werden soll. Handelt es sich hingegen um mehrere Seiten, die ein individuelles Seiten Template erhalten sollen, lässt sich dieser Wunsch mit der zweiten Variante leichter und besser umsetzen. Alles was dazu erforderlich wäre, dem Template in einem einleitenden Kommentar einen Namen zu geben.
Beispiel (page-experimente.php):
<?php /** * Template Name: Experimente und Exempel * Description: Eine kurze Beschreibung des Templates */ get_header(); ?> <div id="primary" class="site-content"> <div id="content" role="main"> <h1>Code oder Content für Experimente und Exempel</h1> <!-- Füge Code oder Content ein und konvertiere vor dem Speichern zu UTF-8 ohne BOM. --> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?>
Die page-experimente.php sollte nun unter dem Namen ‘Experimente und Exempel’ beim Erstellen einer statischen Seite unter dem Stichpunkt Attribute, welcher innerhalb des Dashboards auf der rechten Seite neben dem Editor zu finden ist, als Seitenvorlage ausgewählt werden können.
Ob Variante I oder Variante II, bei beiden Varianten kann der unveränderte WP-Code aus der page.php genutzt werden, um den Content wie gewohnt über den Editor innerhalb des Dashboards einzufügen und zu speichern.
<?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', 'page' ); ?> <?php comments_template( '', true ); ?> <?php endwhile; // end of the loop. ?>
Eine Ergänzung mit eigenem Code ist jedoch ebenfalls möglich, doch dazu auf der nächsten Seite mehr.
» Seitenvorlage mit Formular | Auflistung von statischen Seiten