WordPress: Letzte Kommentare direkt im Theme

WordPress: Letzte Kommentare direkt im Theme

Das Schweizer WordPress Magazin hat vor wenigen Tagen einen Artikel Veröffentlicht um die Letzten Kommentare des Blogs direkt im Theme zu intregrieren ohne das man dazu ein Plugin benötigt.

Der gezeigte ansatz ist schonmal gut gelungen, meiner Meinung nach aber nicht zufrieden stellen.
Es werden zwar die letzten Kommentare als “Auzug” Ausgegeben, jedoch ohne dem Kommentar-Autor.

Zudem ist der PHP-Snippet endlos lang, was einem die Übersicht innerhalb der “sidebar.php” (empfohlener einbau ort vom Schweizer Magazin) nimmt.

Schöner und schlanker kommt dort mein lösungs Vorschlag her. Der Code Snippet fügt den, beim Schweizer WordPress Magzin fehlenden, Autor des Kommentars hinzu.

Ich empfehle auch nicht die einbindung direkt in der sideba.php sondern eher das ganze über die functions.php und einen extra angelegten Template Tag.
Hier der Code:

Füge folgende Code in der im Theme-Ordner befindlichen functions.php hinzu oder erstelle eine neue functions.php, falls in deinen Theme keine vorhanden ist.

functions.php:
function recent_comments_theme () {
global $wpdb, $comments, $comment;
if ( !$number = (int) $options['number'] )
$number = 5;
else if ( $number < 1 )
$number = 1;
else if ( $number > 15 )
$number = 15;
$comments = $wpdb->get_results("SELECT comment_author, comment_author_url, comment_ID, comment_post_ID, comment_content FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT $number");
if ( $comments ) : foreach ($comments as $comment) :
echo '<li>' . sprintf(__('%1$s on %2$s'), get_comment_author_link(), '<a href="'. get_permalink($comment->comment_post_ID) . '#comment-' . $comment->comment_ID . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '<br />' . get_comment_excerpt() . '</li>';
endforeach; endif;
}

Mit diesem Code-Snipptet direkt in der functions.php haben wir einen neuen Template Tag für WordPress erstellt und können nun die ausgabe im Theme (z.B. in der Sidebar) einfügen.

Dazu einfach folgenden Code in die endsprechende Datei:

<h2><?php _e('Recent Comments')</h2>
<ul>
<?php if (function_exists('recent_comments_theme')) recent_comments_theme(); ?>
</ul>

Jetzt müssten wir an der Stelle wo der Tag eingefügt wurde, die letzten Kommentare sehen können.

Das ganze lässt sich natürlich noch mit CSS Gestallten und über den Code-Snippet den wir in der functions.php erweitern.

Ich habe den Snippet so angelegt, das er die letzten 5 Kommentare Anzeigt. Wäre gern mehr oder weniger haben will, muss nur den Wert beim ersten $number = 5; ändern. Zufinden ist er ganz oben im Code Snippet:
if ( !$number = (int) $options['number'] )
$number = 5;

Wer sich den Code in der functions.php etwas genau ansieht wird feststellen das wir alle Daten für den snippet aus der WordPress-Datenbank holen. Somit haben wir auch die möglichkeit weitere informationen wie “Datum oder Kommentar Status” abzufragen.

Artikel Informationen

Veröffentlicht am 22. Januar 2009 um 10:45 Uhr von Fabian.
Abgelegt unter WordPress.
Verwendete Schlagwörter: , , , , , , , .
Trackback URL | Kommentar-Feed .
Quelltext Anzeigen · Seite Drucken · Artikelnr. 133.

Ähnliche Artikel
Der Autor

Fabian Fabian Künzel wurde 1986 in Neuss geboren und lebt seit 1988 in der am Niederrhein liegenden Stadt Kleve. Seit 2000 beschäftigt er sich mit dem Thema Webdesign und ist seit 2004 Freier Webworker. Er unternimmt ausserdem viel mit seinen Freunden und seinem Hobby RC-Car das er seit Anfang 2009 nachgeht. Mehr Über ihn erfahrt ihr in seinem Web-Profil


Folgende Kommentare wurden hinterlassen

Hinterlasse auch du einen Kommentar

Deine Persönliche Angaben

Deine Kommentar Text

Vor dem Abschicken Lesen!

Um mir ein wenig Arbeit und Ärger zu ersparen, gibt es ein paar einfache Regeln und Hinweise, die beim Kommentieren auf fkBlog.de jeder einzuhalten hat.

Regeln!
  • Kommentare die Ausschließlich der Werbung eines Produktes oder der eigenen Webseite dienen, werden nicht Genehmigt und/oder Gelöscht.
  • Kommentare die nicht zum Thema oder zur Diskussion passen, werden ebenfalls ohne Ankündigung Gelöscht.
Hinweise!
  • Jeder 1. Kommentar muss erst von mir Freigeschaltet werden. Dies geschieht normalerweise innerhalb von 24Stunden.
  • Es wäre toll, wenn du mit deinen richtigen Vornamen Kommentierst oder einen Pseudonym unter denn man dich im Internet findet.