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.
Vorlagen erstellen
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.
Templates anpassen
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 /* Template Name: Gästebuch */ ?>
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 comments_template( '', true ); ?>
in
<?php comments_template( '/guestbook_comments.php', true ); ?>
Schließt die Datei und öffnet nun die guestbook_comments.php
.
Hier ändern wir zunächst die Überschriften. Aus
<?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>' ); ?>
macht ihr
<?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>' ); ?>
Standard Kommentarformular anpassen
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 comment_form(); ?>
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 $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);?>
und löscht den Eintrag
<?php comment_form(); ?>
Das Formular wird dann so aussehen:
Im WordPress Codex findet ihr weitere Informationen zu den zahllosen Anpassungsmöglichkeiten des Formulars.
Kommentarformular über die Gästebucheinträge verschieben
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 $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);?>
nach oben direkt hinter diese Zeile
<?php // You can start editing here -- including this comment! ?>
Das Gästebuch anlegen
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.
hallo olli kannst du mir helfen bei dem Theme von Themify?
Und zwar habe ich in der comments.php eigentlich alles angepasst. Im WordPress zeigt er mir auch das Template Gästebuch an.
Hier ist meine guestbook_comments.php
http://pastebin.com/rBMSZXAa
Ganz vergessen, es zeigt mir dann nichts auf meiner WordPress seite an, wenn ich eine neue Seite erstelle und das Template benutze.
Hallo Olli,
vielen Dank für diese super Alternative!
Dank deiner einfachen Erklärung habe ich es erfolgreich installiert, sogar auf meinem Twenty Thirteen Theme und bin auch sehr zufrieden damit!
Leider stört mich nur das Website-Feld beim Ausfüllen.
Kannst du mir sagen, wie ich:
1. Das Feld „Website“ löschen kann? Ich möchte, dass die Besucher der Seite lediglich ihre E-Mail & ihren Namen angeben
und 2. Wie ich den Text von „Deine E-Mail-Adresse wird nicht veröffentlicht.“ in
„Ihre E-Mail-Adresse wird nicht veröffentlicht.“ ändern kann. Da ich sonst überall Sieze, kommt das nun etwas komisch herüber ;-)
Vielen Dank im Voraus!
ich bin Filezille und FTP Anfänger ;-)
Gibt es noch eine detailliertere Anleitung ?
Ich verstehe die Anfänge nicht , wie kann ich die Datei kopieren ?
Strg/c macht das irgendwie nicht .
Wenn das kopieren geklappt hat , was mache ich dann genau nach der Umbenennung damit ?
Einfach umbenennen ist wahrscheinlich falsch ,oder ?
Sorry Horst