Seitentemplate Gästebuch mit umgekehrter Reihenfolge
So, wir haben mal ein bisschen mit dem Seitentemplate und der comments.php für eine extra Gästebuch-Seite ab WordPress 2.7 rumgespielt, damit man in den neuen Themes auch ohne Plugins für die Gästebuch-Seite eine umgekehrte Sortierreihenfolge bestimmen kann.
In einem Blog werden normalerweise die neusten Kommentare unten angestellt. Dies ist in WordPress nicht anders. Ab Version 2.7 kann man die General-Einstellungen (für den gesamten Blog) unter Einstellungen -> Diskussion ändern, was aber nicht jeder mag. Für die, die also nur das Gästebuch anders sortieren wollen haben wir eine Lösung gefunden.
Dieser Tipp ist wie gesagt erst ab Themes für WordPress 2.7 möglich, da mit dieser Version das Kommentar-Template komplett umgestellt wurde. Wer sein Theme auf die neuen Funktionen hin prüfen oder ändern will, findet hier (en.) oder hier (dt.) schöne Anleitungen.
Folgendes wäre also denkbar:
Das Seitentemplate “page_guestbook.php” anlegen, d.h. kopiere den Inhalt der page.php deines Themes in die neue Datei und füge ganz oben im Code noch folgendes hinzu
<?php /* Template Name: Guestbook */ ?>
Dann ersetzt du
<?php comments_template(); ?>
durch
<?php comments_template(DIRECTORY_SEPARATOR.'comments-guestbook.php'); ?>
So wird eine extra comments-guestbook.php included.
Dann die eigene Datei “comments-guestbook.php” anlegen. Dazu kopiere den Inhalt der comments.php deines Themes in die neue Datei. In dieser kann das
<?php wp_list_comments(); ?>
z. B. durch
<?php wp_list_comments(array('type'=>comment, 'max_depth'=>'2', 'reverse_top_level'=>DESC, 'avatar_size'=>32, 'reply_text'=>'Antworten')); ?>
ersetzt werden.
Durch den Parameter “reverse_top_level=DESC” wird die Reihenfolge umgedreht … der Rest ist wohl selbsterklärend. Andere Parameter sind im codex zu finden: http://codex.wordpress.org/Template_Tags/wp_list_comments#Parameters
So, jetzt nicht vergessen die ganzen neuen Dateien per FTP ins Theme-Verzeichnis hochzuladen.
Dann nur noch das Eingabeformular nach oben holen und es sieht wie ein Gästebuch aus ![]()
Das Eingabeformular sollte ab WP 2.7 mit einem Div-Container mit der ID “respond” beginnen und mit dem schließenden div aufhören:
<div id="respond">
<h3><?php comment_form_title('Leave a Reply', 'Leave a Reply to %s'); ?></h3>
<div id="cancel-comment-reply">
<?php cancel_comment_reply_link() ?>
</div>
...
...
</div>
Zum Schluss legst du im Backend von WordPress eine statische Seite “Gästebuch” an und wählst unter Template das “Guestbook” aus. FERTIG!