Ich habe vor einiger Zeit in diesem Artikel beschrieben, wie ihr ohne Plugins mittels der WordPress-Kommentarfunktion ein Gästebuch einrichtet. Der Artikel hat ja nun schon einige Zeit auf dem Buckel und zwischenzeitlich haben sich doch ein paar Änderungen bei WordPress, insbesondere beim Aufruf des Kommentarformulars, ergeben.
Da sich der Artikel immer noch großer Beliebtheit erfreut, habe ich mir gedacht, ich bringe ihn mal auf den neuesten Stand und zeige am Beispiel des aktuellen WordPress-Standardthemes „Twenty Eleven“, wie ein Gästebuch mit angepasster Kommentarfunktion realisiert werden kann.
Das fertige Gästebuch wird so aussehen:
Okay. Fangen wir an.
Zunächst gilt es zwei Templates aus dem WordPress-Theme Verzeichnis zu kopieren. Kopiert die Datei
page.php
und benennt sie guestbook.php
als Vorlage für das Gästebuch.
Nun kopiert ihr die Datei
comments.php
und benennt sie guestbook_comments.php
als Vorlage für die Gästebucheinträge und das Gästebuchformular.
Wir müssen die beiden Dateien ein wenig verändern. Öffnet die Datei guestbook.php
und fügt am Anfang vor allen anderen Einträgen
[php]<?php
/*
Template Name: Gästebuch
*/
?>[/php]
ein. Durch diesen Eintrag erkennt WordPress, dass es sich um ein Template handelt, welches wir beim Erstellen des Gästebuchs als Vorlage auswählen können.
Zweite Änderung: wir müssen einen Verweis auf die guestbook_comments.php
herstellen, damit nicht das Standard-Kommentartemplate comments.php
aufgerufen wird.
Ändert folgenden Eintrag
[php]<?php comments_template( “, true ); ?>[/php]
in
[php]<?php comments_template( ‚/guestbook_comments.php‘, true ); ?>[/php]
Schließt die Datei und öffnet nun die guestbook_comments.php
.
Hier ändern wir zunächst die Überschriften. Aus
[php]<?php
printf( _n( ‚One thought on “%2$s”‘, ‚%1$s thoughts on “%2$s”‘, get_comments_number(), ‚twentyeleven‘ ),
number_format_i18n( get_comments_number() ), ‚<span>‘ . get_the_title() . ‚</span>‘ );
?>[/php]
macht ihr
[php]<?php
printf( _n( ‚Ein Eintrag im “%2$s”‘, ‚%1$s Einträge im “%2$s”‘, get_comments_number(), ‚twentyeleven‘ ),
number_format_i18n( get_comments_number() ), ‚<span>‘ . get_the_title() . ‚</span>‘ );
?>[/php]
Das Standard-Kommentarformular von WordPress ist logischerweise auf Kommentare ausgelegt. Es lässt sich allerdings mit ein wenig Aufwand auf vielfältige Art und Weise anpassen. Aufgerufen wird das Formular durch den Eintrag
[php]<?php comment_form(); ?>[/php]
in der comments.php
bzw. der guestbook_comments.php
.
Ohne Anpassungen sieht das Kommentarformular in „Twenty Eleven“ wie folgt aus:
Wir wollen dem Formular eine andere Überschrift, eine andere Buttonbeschriftung und eine andere Bezeichnung für das Kommentarfeld verpassen.
Fügt dazu in die guestbook_comments.php
folgenden Code ein:
[php]<?php
$comments_args = array(
‚title_reply’=>’Deinen Gästebucheintrag hinzufügen‘,
‚label_submit’=>’Gästebucheintrag absenden‘,
‚comment_field‘ => ‚<p class="comment-form-comment"><label for="comment">Deine Nachricht</label><br /><textarea id="comment" name="comment"></textarea></p>‘
);
comment_form($comments_args);?>[/php]
und löscht den Eintrag
[php]<?php comment_form(); ?>[/php]
Das Formular wird dann so aussehen:
Im WordPress Codex findet ihr weitere Informationen zu den zahllosen Anpassungsmöglichkeiten des Formulars.
Generell werden bei Artikeln zunächst die abgegebenen Kommentare und darunter das Kommentarformular angezeigt. Wer mag, kann das für das Gästebuch umdrehen, so dass zunächst das Formular und danach erst die Gästebucheinträge zu sehen sind.
Verschiebt dazu den Aufruf des Kommentarformulars
[php]<?php
$comments_args = array(
‚title_reply’=>’Deinen Gästebucheintrag hinzufügen‘,
‚label_submit’=>’Gästebucheintrag absenden‘,
‚comment_field‘ => ‚<p class="comment-form-comment"><label for="comment">Deine Nachricht</label><br /><textarea id="comment" name="comment"></textarea></p>‘
);
comment_form($comments_args);?>[/php]
nach oben direkt hinter diese Zeile
[php]<?php // You can start editing here — including this comment! ?>[/php]
Als letzten Schritt müssen wir das Gästebuch selber noch anlegen, da wir bisher nur die Vorlagendateien bearbeitet haben. Erstellt eine neue Seite, schreibt eine nette Einleitung für euer Gästebuch und wählt als Template ‚Gästebuch‘.
Speichern und fertig. Vergesst nicht die Kommentar für die Seite zu aktivieren.