WordPress: Artikelanzahl anzeigen (ohne Plugin)

Für diejenigen, die Statistiken lieben und gerne ihren Blog-Besuchern die Anzahl aller veröffentlichten Artikel anzeigen möchten, können den in diesem Beitrag vorgestellten Code-Schnipsel verwenden.

Mit diesem Code könnt ihr sowohl die Gesamtanzahl der veröffentlichten Artikel als auch die Anzahl der Artikel der letzten X Tage ermitteln und ausgeben lassen.

Code zum Ermitteln der Artikelanzahl

Der folgende Code kann in die functions.php eures Themes kopiert werden:

function get_post_count($type = 'post', $by_days = false, $days = 30)
{
    global $wpdb;

    $day_condition = $by_days ? 'AND post_date >= DATE_SUB(CURDATE(), INTERVAL ' . $days . ' DAY)' : '';

    $post_count = $wpdb->get_col('
        SELECT
            COUNT(ID)
        FROM
            ' . $wpdb->posts . '
        WHERE
            post_type = "'.$type.'"
            AND post_status = "publish"
            ' . $day_condition . '
    ');

    return $post_count[0];
}
PHP - Datei: functions.php

Im ersten Teil dieser Funktion (Zeile 5) wird geprüft, ob die Artikelanzahl der letzten X Tage oder aber die Gesamtanzahl ermittelt werden soll.

Die eigentliche SQL-Abfrage findet dann im zweiten Teil der Funktion (Zeile 9 - 18) statt.

Kurze Erklärung der SQL-Anweisung im Detail

SELECT (Zeile 8 - 9)
Selektieren tun wir hier im eigentlichen Sinne nichts, sondern mittels COUNT ermitteln wir die Anzahl der Artikel. Da jeder Artikel eine eindeutige ID hat, wenden wir unser COUNT auf eben diese ID an.

FROM (Zeile 10 - 11)
Wir beziehen uns hier auf die posts-Tabelle von WordPress.

WHERE (Zeile 12 - 15)
Zu den Bedingungen zählen folgende Punkte:

  • der Post-Typ entspricht dem angegebenen Typ ($type)
  • der Post-Status ist publish - bedeutet, dass der Artikel bzw. die Seite veröffentlicht ist
  • Annahme: $by_days ist true - Datum der Veröffentlichung des jeweiligen Artikels bzw. der jeweiligen Seite muss kleiner dem Datum sein, dass vor X ($days) Tagen war

Code zum Anzeigen der Artikelanzahl

Der folgende Code kann an beliebige Stelle in eurem WordPress-Theme platziert werden. Möchte man also z.B. die Anzahl aller bisher veröffentlichten Artikel in der Sidebar anzeigen, muss der Code in eure sidebar.php eingefügt werden:

echo get_post_count();
PHP - Datei: sidebar.php

Um die Anzahl aller Artikel anzuzeigen, die innerhalb der letzten 30 Tage veröffentlicht wurden, könnt ihr die Funktion wie folgt aufrufen:

echo get_post_count('post', true, 30);
PHP - Datei: sidebar.php

Auch wenn dieser Artikel sich mit der Ausgabe der Artikelanzahl beschäftigt, so habe ich den Code so angepasst, dass ihr ihn auch leicht zur Ausgabe eurer Seitenanzahl nutzen könnt. So könnt ihr also auch die Gesamtanzahl eurer veröffentlichten Seiten anzeigen:

echo get_post_count('page');
PHP - Datei: sidebar.php

Fazit

Mit dem vorgestellten Code-Schnipsel könnt ihr nun also sehr einfach und auch ohne Plugin in eurem Theme die Anzahl eurer Artikel bzw. Seiten ermitteln und ausgeben lassen.

Aktualisierungshistorie:
  • 15. Oktober 2012
    ursprüngliche Veröffentlichung in meinem ehemaligen Blog "Smart-Webentwicklung"
Feedback

Für Feedback zum Beitrag, seien es Fragen, Korrigierungen und/oder Anregungen, könnt ihr mir gerne eine Nachricht per E-Mail oder Mastodon schreiben (siehe Kontakt).