[WordPress] Ein Gästebuch ohne Plugins

Zu diesem Thema ist ein aktualisierter Artikel verfügbar. Klick hier um den neuesten Artikel aufzurufen.

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.

Erster Schritt:

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.

Zweiter Schritt:

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…

Dritter Schritt:

Ö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' ); ?>

Vierter Schritt:

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.

27 Kommentare

  • Peter sagt:

    Supi. Danach hab ich gesucht. Klappt 1a

    Gruß Peter

  • Lakrisa sagt:

    Vielen Dank hat super geklappt, allerdings hätte ich gerne, dass der neuste Eintrag oben steht. Gruß Lakrisa

  • Helmut sagt:

    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

  • Elena sagt:

    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

  • Elena sagt:

    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)) : ?&gt;
    post_password) : ?&gt;
    <!– COMMENTS (start) –>
    ‚ul‘, ‚max_depth‘ =&gt; 2, ‚avatar_size‘ =&gt; 48 ) ); ?&gt;
    <!– #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

    • Olli sagt:

      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

  • Rainer sagt:

    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

  • Tobi sagt:

    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]

    • Olli sagt:

      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' ); zu get_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

  • Tobi sagt:

    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 🙂

  • Tobi sagt:

    – 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ß

    • Tobi sagt:

      unter Anfahrt → steht noch: (hab vergessen, das umzuwandeln)

      < ?php comments_template( 'gb_comments', true ); ?>

      • Olli sagt:

        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

  • Tobi sagt:

    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 !

  • Jens sagt:

    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.

  • Jens sagt:

    ok kein Ding. Danke werde dann mal was anderes Versuchen 😉

  • Joe sagt:

    Hi Ollie,
    würde das gene in meine Webseite einbauen, benutze WordPress 3.3.2 funktioniert deine Anleitung noch ?

    Gruss von den kanaren

    joe

    • Olli sagt:

      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

Dein Kommentar