In diesem Tutorial zeige ich, wie Ihr ohne zusätzliche Plugins ein Gästebuch für WordPress erstellt. Die Einträge erfolgen mit der Kommentarfunktion, die wir allerdings noch etwas anpassen werden.
Und los geht’s.
Zunächst gilt es ein Template für unser Gästebuch zu erstellen. Dazu startet Ihr Euer FTP-Programm und kopiert im Theme-Verzeichnis die Datei ’single.php‘ und nennt Sie ‚guestbook.php‘. Öffnet die Datei ‚guestbook.php‘ und fügt ganz an Anfang folgenden Code ein
<?php /* Template Name: Guestbook */ ?>
Durch diesen Eintrag erkennt WordPress, dass es sich um ein Template handelt, welches wir später, quasi als Vorlage, verwenden können.
Wir wollen für unser Gästebuch eine angepasste Kommentar-Funktion verwenden, die auf ein Gästebuch zugeschnitten ist. Dazu kopieren wir ebenfalls aus dem Theme-Verzeichnis die Datei ‚comments.php‘ und nennen sie ‚gb_comments.php‘.
Öffnet die Datei und ändert die dort enthaltenen Bezeichnungen für die Kommentare nach Eurem Geschmack ab. Aus ‚Kommentar‘ macht Ihr ‚Eintrag‘, aus ‚Artikel kommentieren‘ macht Ihr ‚Ins Gästebuch eintragen‘ und so weiter. Je nachdem welche Sprache euer Theme hat, müsst ihr die Bezeichnungen eindeutschen.
Beispiel gefällig? Aus
<h2><?php comments_number(__('No Responses'), __('1 Response'), __('% Responses')); ?></h2>
macht ihr
<h2><?php comments_number(__('Keine Einträge'), __('1 Eintrag'), __('% Einträge')); ?></h2>
Oder aus
<h2>Post your comments</h2>
macht ihr
<h2>Ins Gästebuch eintragen</h2>
Klar, was ich meine? Gut, weiter geht’s…
Öffnet nun die Datei ‚guestbook.php‘ . Hier müssen wir den Verweis auf unsere eigene Gästebuch-Kommentar-Funktion eintragen. In der Datei sollte ein Verweis auf die Standard-Kommentar-Funktion vorhanden sein, der so lauten sollte:
<?php comments_template(); ?>
Diesen ändern wir wie folgt:
<?php comments_template( '/gb_comments.php' ); ?>
Nun können wir unser Gästebuch erstellen. Erstellt eine neue Seite und nennt diese… na wie schon: ‚Gästebuch‘ natürlich. Auf der rechten Seite unter ‚Template‘ wählt Ihr ‚Guestbook‘.
Schreibt eine kurze Einleitung für Euer Gästebuch und vergesst nicht den Haken bei ‚Kommentare erlauben‘ zu setzen. Abspeichern und fertig ist euer Gästebuch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
27 Kommentare
Supi. Danach hab ich gesucht. Klappt 1a
Gruß Peter
Hallo Peter. Freut mich, dass es funktioniert
Vielen Dank hat super geklappt, allerdings hätte ich gerne, dass der neuste Eintrag oben steht. Gruß Lakrisa
Hallo Lakrisa,
schau dir mal diese Thema hier im WordPress Forum an.
Gruß Olli
Hallo,
besten Dank erstmal für die Anleitung – habe alles so ausgeführt wie beschrieben – allerdings ohne die Übersetzungen in der gb_comments – es gibt Probleme – siehe WEBSeite.
Verwende wp 3.04
Gruß Helmut
Hallo Helmut,
da ist wohl etwas durcheinander geraten. Würdest du bitte mal den kompletten Inhalt der guestbook.php hier posten? Werde dann versuchen dir zu helfen.
Gruß Olli
Hallo Oliver
Danke Dir vielmals.
Hat super geklappt.
Erst beim zweiten mal. Bei mit sah die Zeile in Schritt 3 so aus:
„?php comments_template(“, true); ?“
Anfangs schrieb ich es so:
„?php comments_template(‚/gb_comments.php‘); ?“
Nur so habe ich die Kommentare nicht gesehen. Ich nehme an wegen dem
„true“ Befehl.
Jetzt änderte ich es in
„?php comments_template(‚/gb_comments.php‘, true); ?“
und es funktioniert alles wie gewünscht. 😉
Lg
Elena
Hallo
Ich habe ein neues Problem und zwar wird bei meinem Theme der „comment“ Teil vom WordPress genommen, irgendwie wird der Kommentar Bereich nicht mehr im comment.php geschrieben.
Der kommt jetzt so wie ich das sehe von WordPress selber.
Hier meine comment.php:
[code]
<!– Prevents loading the file directly –>
<!– Password Required –>
post_password)) : ?>
post_password) : ?>
<!– COMMENTS (start) –>
‚ul‘, ‚max_depth‘ => 2, ‚avatar_size‘ => 48 ) ); ?>
<!– #comments-wrap (end) –>
<!– COMMENTS (end) –>
<!– COMMENT FORM (start) –>
<!– .comment-form (end) –>
<!– COMMENT FORM (end) –>
<!–#comments–>
[/code]
Wie muss ich kann ich jetzt das trotzdem umsetzen, kannst Du mir bitte helfen.
Danke Dir in voraus.
Liebe Grüsse
Elena
Hallo Elena,
versteh‘ dein Problem nicht so richtig. Die Datei comments.php ist ja das Standard-WordPress-Kommentar-Template. Hast du eine angepasste Kommentarfunktion mit dem Namen comment.php? Und dieses wird nicht geladen, sondern die comments.php?
Wenn du ein anderes Kommentar-Template als das Standard-Template nutzen willst, musst du in der Datei, wo das Kommentar-Template aufgerufen wird, die Verknüpfung zu deinem Template einfügen, in deinem Fall dann wohl so:
[code]<?php comments_template( ‚/comment.php‘ ); ?>[/code]
Oder hab ich dich missverstanden?
Gruß Olli
Hallo, habe mich an deine Anleitung gehalten, wie bekomme ich allerdings das Eingabefeld über die Gästebuch Einträge? Kannst du mir bitte helfen?
Gruß Rainer
Hallo Rainer,
die Einträge im Gästebuch werden aufgerufen durch
[code]<?php wp_list_comments(“); ?>[/code]
Verschieb diesen Eintrag hinter den Aufruf des Kommentarformulars.
Gruß Olli
Bei meinem Theme ist das irgendwie anders, kann ich dir mal eine mail mit den php seiten schicken und du siehst es dir mal an?
Gruß Rainer
geht doch, sorry
danke, gruß Rainer
Hallo
im Standard-Template TwenteTen gibts in der Single.php den oben genannten Eintrag nicht.
muss ich die für das Gästebuch anpassen?
wenn ja wie ?
hier die single.php:
[php]
<?php
/**
* The Template for displaying all single posts.
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php
/* Run the loop to output the post.
* If you want to overload this in a child theme then include a file
* called loop-single.php and that will be used instead.
*/
get_template_part( ‚loop‘, ’single‘ );
?>
</div><!– #content –>
</div><!– #container –>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
[/php]
Hi Tobi,
hab es mir gerade mal angeschaut: Im Twenty Ten Template wird in der single.php auf die loop-single.php verwiesen. Erst hier erfolgt der Aufruf des Comment-Templates.
Denke du könntest es wie folgt probieren (ungetestet):
kopiere die single.php zu guestbook.php
kopiere die loop-single.php zu loop-guestbook.php
kopiere die comments.php zu gb_comments.php
In der guestbook.php änderst du den Verweis von
get_template_part( 'loop', 'single' );
zuget_template_part( 'loop', 'guestbook' );
.In der loop-guestbook.php änderst du
< ?php comments_template( '', true ); ?>
zu< ?php comments_template( 'gb_comments', true ); ?>
.Berichte mal, ob es geklappt hat.
Gruß Olli
nein, die Gästebuchseite bleibt leer.
auch die eingetragene Eileitung erscheint nicht.
in der guestbook.php habe ich das eingetragen wie in Schritt 1 beschrieben.
Das Template kann ich auch auswählen.
im schritt 3 wird der Verweis doch auf die gb_comments.php verwiesen.
müsste das nicht auch in der loop-guestbook.php so sein ?
ich kenne mich mit php nicht wirklich aus 🙁
vielen dank schonmal für deine Hilfe 🙂
– edit –
muss mich korrigieren.
es erscheint die Einleitung, aber die Eingabefelder sind nicht da.
dafür sind die letzten 2 Unterseiten las links mit drin von der 1. nach der Home (Sazung und Anfahrt)
Sieht dann so aus:
(link kann ich dir keinen geben, denn zur zeit ist die seite offline, ich teste das ganze lokal)
Gästebuch
Publiziert am 6. Oktober 2011 von admin
Einleitung ….
Setze ein Lesezeichen auf den Permalink.
← Satzung
Anfahrt →
Gruß
unter Anfahrt → steht noch: (hab vergessen, das umzuwandeln)
< ?php comments_template( 'gb_comments', true ); ?>
Hi Tobi,
die guestbook.php ruft mit dem Eintrag
get_template_part( 'loop', 'guestbook' );
die loop-guestbook.php auf. In dieser wird durch< ?php comments_template( 'gb_comments', true ); ?>
die gb_comments.php aufgerufen, also die Kommentarfunktion. Meiner Meinung nach müsste das so funktionieren, kann’s aber nicht testen.Frag doch mal im offiziellen WordPress-Forum nach.
Gruß Olli
also es funktioniert mittlerweile.
hab nochmal alle 3 Daeien neu kopiert, und die Änderungen vorgenommen.
jetzt stimmts weitestgehend.
http://666kb.com/i/bxll7svav8k3tq29c.png
warum steht da (nochmal) der Link zum Haftungsausschluss ?
desweitern, wie bekomme ich die beiden Sachen raus:
Publiziert am 7. Oktober 2011 von admin
Setze ein Lesezeichen auf den Permalink.
ich habs im Forum gepostet, wegen den 3dingen.
Danke für Deine Hilfe !
Hi! Ein super Gästebuch!
Nur leider kriege ich es nicht hin wie du es beschrieben hast. Benutze WordPress 3.3.1 mit dem Theme Mystique 3.2.9.3.
Da habe ich die Einträge die geändert werden sollen leider nicht. Gebe zu das ich mit der Materie noch nicht so vertraut bin. Aber vielleicht hast du ja dazu auch eine Lösung?
Wäre super denn das ist bis jetzt das beste Gästebuch was ich gesehen habe.
Hier mal die Seite von der ich spreche.
Hallo Jens,
das Mystique-Theme nutzt Sprachdateien; die Bezeichnungen stehen also nicht im HTML-Code. Lösung habe ich leider keine für dich. Gibt es evtl. ein Supportforum für das Theme? Vielleicht kennt sich im offiziellen deutschen WordPress-Forum jemand mit dem Theme aus.
Gruß Olli
Hallo Olli,
danke für deine schnelle Antwort. Das ist ja Schade. Welches Theme benutzt du denn hier auf deiner Seite? Vielleicht kann ich mich damit anfreunden.
Hallo Jens,
das Theme ist eine Eigenentwicklung und bleibt ein Unikat.
Gruß Olli
ok kein Ding. Danke werde dann mal was anderes Versuchen 😉
Hi Ollie,
würde das gene in meine Webseite einbauen, benutze WordPress 3.3.2 funktioniert deine Anleitung noch ?
Gruss von den kanaren
joe
Hi Joe,
die Anleitung funktioniert noch; ist nicht abhängig von der WordPress Version. Ob das bei dir aber genau so wie in der Anleitung funzt, hängt von deinem Theme ab, wie dort das Kommentar-Template aufgerufen wird.
Gruß Olli