Comments.php mit functions.php kombinieren

Kategorie: WordPress-Tipps | Share: funkygog       

Bislang verwende ich hier noch die alte Methode der Kommentar-Funktion. Jetzt wollte ich gerne mal die aktuelle (seit v2.7.) in einem Blog einsetzen.
Hier eine Anleitung zur Umstellung – keine leichte Aufgabe, soviel sei schon gesagt.

Die bisherige Methode:

In den Beiträgen (evtl. auch Seiten) wurde das Kommentar-Template aufgerufen <?php comments_template(); ?>

In dem Template comments.php werden dann folgende Bereiche verarbeitet:

  1. Anzeige der Kommentar-Anzahl
    <?php comments_number(...);?>
  2. Auflistung der Kommentare
    mit Angaben zu Author, Avatar, Datum, Text
    Beispiel Code anzeigen
  3. Regelungen was passiert wenn Kommentare geschlossen sind; User eingeloggt ist usw.
  4. Der Kommentar Eingabe-Bereich
    <form action="<?php echo... id="commentform">
Die neue Methode:

Der wesentliche Unterschied ist, dass der 2. Punkt – die Auflistung der Kommentare – jetzt nur noch aus einem kurzen Aufruf besteht.

<ol class="commentlist">
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
</ol>

Die bisherigen Angaben zum Author, Datum usw. stehen jetzt in der functions.php.

Anleitung zur Verwendung der neuen Kommentar-Funktion

zunächst die Basis. später mehr zu den weiteren Möglichkeiten (Trennung von Kommentaren und Trackbacks) – siehe auch [Teil 2].

  1. Den Aufruf des Kommentar-Templates in der single.php (evtl. auch page.php) ändern in:
    <?php comments_template('', true); ?>
  2. In der functions.php den Code dieser Datei eingeben:
    • functions Code
      Sollte noch keine vorhanden sein, die Datei downloaden und umbennen in functions.php

    Hinweis anzeigen

  3. In der comments.php den vorhandenen Code für die Auflistung der Kommentare entfernen und gegen den neuen Aufruf austauschen:

    <ol class="commentlist">
    <?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
    </ol>

    Dadurch wird geprüft ob in der functions.php ein Bereich mytheme_comment vorhanden ist.

Die Kommentare im Blog werden jetzt sicherlich etwas verändert aussehen. Um diese wieder in die alte Form zu kriegen muss der Code in der functions.php angepasst werden.
Und das kann schon ziemlich schwierig sein, wenn man zuvor die Kommentare aufwändig gestaltet hatte.

Kommentare vs. Trackbacks und Pings

Grundsätzlich lassen sich Kommentare von Trackbacks und Pings durch die Type-Angabe trennen.
Mit dem bisherigen Code in der comments.php werden nur die Kommentare angezeigt.

<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>

um sich zusätzlich die Trackbacks / Pings anzeigen zu lassen, bedarf es eines weiteren Codes zur Auflistung:
<?php wp_list_comments('type=pings&callback=list_pings'); ?>
Die Angabe type=pings fasst Trackback und Ping-Einträge zusammen.

Bei Pings wird in der functions.php der Eintrag für list_pings gesucht.
Dieser muss noch dort noch eingeügt werden.
Functions-Code anzeigen

Im WP-Forum gab es dazu einen interessanten Dialog.
Maxe gibt dort zahlreiche Hinweise.
So wird dort auch erklärt wie man getrennte Zähler einbaut.
Oder bei Frank Bültge nachschauen.

Optimierungen

siehe Teil 2:
Anzeige der Kommentare & Pings/Trackbacks optimieren

Umgesetzt habe ich die neue Kommentar-Funktion in meinem
House-of-Chicago Blog.




Einen Kommentar hinterlassen

*=erforderliche Angaben

Innerhalb der Kategorie: WordPress-Tipps