WordPress: Meistkommentierte Artikel anzeigen (ohne Plugin)
Wollt ihr in eurem WordPress-Blog die meist kommentierten, diskussionsreichsten bzw. beliebtesten Artikel anzeigen, dann braucht ihr dafür nicht unbedingt wieder ein zusätzliches Plugin, sondern könnt diese Funktionalität auch ohne Plugin relativ leicht in eurem Blog umsetzen.
Dazu zeige ich euch in diesem Artikel wieder einen kleinen Code-Schnipsel, der euch die meistkommentierten Artikel ermittelt und ausgibt.
Code zum Ermitteln der meistkommentierten Artikel
Den folgenden Code könnt ihr wie immer komplett in eure functions.php
eures Themes einfügen:
Auf den ersten Blick sieht der Code vielleicht etwas lang und komplex aus, aber lasst euch davon nicht abschrecken.
Im ersten Teil der Funktion (Zeile 5 - 17) geht es darum, die Ermittlung der meistkommentierten Artikel zu beeinflussen. So kann z.B. eingestellt werden, ob eure Kommentare, die ihr selbst verfasst habt (Admin-Kommentare) mit eingerechnet werden sollen oder nicht.
Weiterhin kann individuell festgelegt werden, dass die Ermittlung der meist kommentierten Artikel sich nur auf abgegebene Kommentare innerhalb der letzten x Tage bezieht.
Der zweite Teil (Zeile 19 - 38) dient dann zum Ermitteln der Artikel mit den meisten Kommentaren aus der Datenbank. Anschließend wird im dritten Teil (Zeile 40 - 47) die Ausgabe generiert. Dafür werden die Artikel in eine geordnete Liste gepackt und jeder Artikel wird als ein Listenelement ausgegeben, wobei jeder Artikel natürlich entsprechend verlinkt wird.
Kurze Erklärung der Funktion
Zeile 20 - 23
Selektiert werden die IDs, Titels und Anzahl der Kommentare der Artikel.
FROM (Zeile 24 - 26)
Wir beziehen uns auf die posts
-Tabelle und falls $dayInterval
größer -1 ist, dann erfolgt noch ein INNER JOIN
mit der comments
-Tabelle.
WHERE (Zeile 27 - 32)
Zu den Bedingungen zählen folgende Punkte:
- es handelt sich um einen Artikel und nicht um eine Seite
- der Artikel hat mindestens einen Kommentar
- der Artikel befindet sich nicht im Papierkorb
- der Kommentar ist nicht vom Admin-Benutzer mit der ID 1 (diese Bedingung gilt nur, wenn
$countAdminComments
gleichtrue
ist) - der Kommentar ist innerhalb der letzten x Tage geschrieben worden (diese Bedingung gilt nur, wenn
$dayInterval
größer -1 ist)
GROUP BY, ORDER BY & LIMIT (Zeile 33 - 37)
Gruppiert wird nach der Artikel-ID und geordnet wird absteigend nach Anzahl der Kommentare. Über den Parameter $limit
kann die Anzahl der Datensätze die selektiert werden sollen, angegeben werden.
Code zum Anzeigen der Artikel mit den meisten Kommentaren
Der folgende Code kann an beliebige Stelle in eurem WordPress-Theme platziert werden. Möchte man also z.B. die Liste der Top-5 der meistkommentierten und somit beliebesten Artikel eures Blogs in der Sidebar anzeigen, kann man den folgenden Code z.B. in die sidebar.php
einfügen:
Für die Anzeige der meistkommentierten Artikel innerhalb der letzten 30 Tage unter Nichtberücksichtigung der eigenen, also der vom Admin verfassten Kommentare, würde die Funktion wie folgt aufgerufen werden:
Fazit
Der vorgestellte Code-Schnipsel erlaubt euch auf einfache Weise die Anzeige der meistkommentierten Artikel eures Blogs. Die Ausgabe könnt ihr natürlich wie immer noch anpassen und mit CSS farblich gestalten.
- 06. August 2012
ursprüngliche Veröffentlichung in meinem ehemaligen Blog "Smart-Webentwicklung"