Gesamtanzahl aller Blogartikel ausgeben in WordPress

Aus gegebenem Anlass habe ich mich selbst mit dem Thema beschäftigt, wie man mit WordPress die Gesamtanzahl aller Artikel ausgeben kann. So ist es zum Beispiel möglich – wie ich – in der Sidebar ein Widget anzulegen, in dem immer die aktualisierte Gesamtzahl der Artikel aufgeführt wird. Die Alternative dazu wäre sehr umständlich. Denn nach jedem veröffentlichten Artikel müsste das Widget angepasst werden. Ich zeige euch heute die bequemere Variante. Es sind kaum Programmierkenntnisse notwendig. Also seit unbesorgt.

Zunächst müssen wir uns entscheiden, auf welche Art und Weise wir auf die automatisch generierte Anzeige der Artikelzahl zugreifen möchten. Das hängt vor allem mit der geplanten Nutzung zusammen. Grundsätzlich liefert WordPress dazu nämlich schon eine reine PHP Funktion:

wp_count_posts();

Hier noch der Link zu Beschreibjng von WordPress: Function wp_count_posts. Wer sich also mit PHP auskennt, kann diese Funktion ganz einfach in den Quellcode der Webseite einbinden, wo er die Ausgabe haben möchte. Das schränkt die Usability allerdings etwas ein, da die Anzahl der Artikel dann auch nur dort erscheint. Gegebenenfalls macht es allerdings Sinn hier etwas weiter zu denken. Vielleicht kann man die Gesamtanzahl der Artikel später nochmal in einem Artikel gebrauchen. Von daher wäre es gut, diese PHP Funktion von WordPress in einem Shortcode zu verpacken, um später innerhalb von WordPress darauf zurückzugreifen.

Hierzu müssen wir die reine PHP Funktion von WordPress jedoch etwas modifizieren. Wir schreiben den Quellcode nun so um, dass die Ausgabe bereits erfolgt. Diese neue Funktion nennen wir my_post_count. Der neue Code sieht dazu wie folgt aus:

function my_post_count() {
$count_posts = wp_count_posts();

return $count_posts;
}

Damit würde PHP bzw. WordPress allerdings sämtliche Artikel abfragen, die verfasst worden sind. Das beinhaltet ebenfalls Artikel die im Entwurf vorliegen oder im Papierkorb schlummern. Diese Angabe nützt Niemandem, daher modifizieren wir die Funktion so, dass nur noch die veröffentlichten Artikel gezählt werden:


function my_post_count() {
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;

return $published_posts;
}

Jetzt haben also eine Funktion mit PHP generiert, die uns die veröffentlichten Artikel ausgibt. Das ist schön, nutzt uns allerdings in unserer WordPress Installation wenig, da wir noch nicht darauf zugreifen können. Schließlich kann PHP Code nicht direkt verwendet werden.

An dieser Stelle sei auch darauf hingewiesen, dass das gut ist so! Das Implementieren von PHP Code über das Interface bürgt erhebliche Sicherheitslücken. Es ist nicht ratsam ein Plugin zu installieren, dass das Einfügen von PHP Code innerhalb von Widgets oder Artikeln / Seiten erlaubt. Ich werde zu diesem Thema noch einen Artikel veröffentlichen.

Als nächstes müssen wir nun dafür Sorge tragen, dass WordPress unsere Funktion inne hat und wir mit einem Shortcode diese Funktion abrufen können. Dazu müsst Ihr im Theme die Functions.php Datei öffnen und folgenden Code einfügen:


function my_post_count() {
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;

return $published_posts;
}
add_shortcode('post_count', 'my_post_count');
add_filter('my_post_count', 'do_shortcode');

Wie Ihr sehen könnt habe ich die bereits angesprochene Funktion eingefügt und zwei weitere Zeilen hinzugefügt. In den beiden Zeilen sagen wir WordPress nun wie er auf die Eingabe von einem Shortcode reagieren soll. Bitte vergesst nicht die geänderte Functions.php Datei zu speichern und hochzuladen (Sofern Ihr nicht kurz die chmod Rechte auf dem FTP verändert und die Änderungen über WordPress vorgenommen habt.). Nun ist die Implementierung des Shortcodes abgeschlossen.

Innerhalb von Widgets, Artikeln und Seiten könnt Ihr auf die Gesamtzahl der Artikel mit dem Shortcode [post_count] zugreifen. Ich hoffe der Artikel hat euch geholfen euer Vorhaben zu bewerkstelligen. Solltet Ihr Fragen haben, schreibt einfach einen Kommentar.

Ronny

Mein Name ist Ronny Schneider und ich betreibe seit über 5 Jahren diverse Blogs und habe dort nicht nur das Schreiben der Texte übernommen, sondern auch die SEO Optimierung sowie die Marketing-Maßnahmen durchgeführt.

Das könnte Dich auch interessieren...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Captcha loading...

Diese Webseite speichert einige personenbezogene Daten anonymisiert. Um der europäischen Datenschutz Grundverordnung gerecht zu werden, hast Du die Möglichkeit der Speicherung zu widersprechen. In diesem Fall würde ein Cookie auf deinem Gerät gespeichert werden. Zustimmen, Ablehnen
607