WordPress: Meistgelesene Artikel anzeigen (ohne Plugin)

Als Ergänzung zu meinem Beitrag zum Thema Artikel-Views in WordPress anzeigen, zeige ich heute, wie ihr basierend auf den gespeicherten Seitenaufrufen (Views) eines Artikels die meistgelesenen Artikel eures Blogs ohne Einsatz eines Plugins anzeigen lassen könnt.

Ich werde euch nun im Folgenden also eine weitere Möglichkeit aufzeigen, die beliebtesten Artikel eures Blogs aufzulisten.

Code zum Ermitteln der meistgelesenen Artikel

Den folgenden Code könnt ihr wie immer komplett in eure functions.php eures Themes einfügen:

function get_popular_posts_by_views($limit = 5)
{
    global $post;

    $tmp_post = $post;

    $popular_posts = get_posts(
        array(
            'posts_per_page' => $limit,
            'meta_key' => Post_Views::KEY,
            'orderby' => Post_Views::KEY,
            'order' => 'DESC'
        )
    );

    $output = '<ul>';

    foreach($popular_posts as $tmp_post)
    {
        $title = get_the_title($tmp_post->ID);
        $output .= '<li><a href="' . get_permalink($tmp_post->ID) . '" title="Artikel: ' . $title . '">' . $title . '</a> (' . Post_Views::get_post_views($tmp_post->ID) . ')</li>';
    }

    $post = $tmp_post;

    return $output . '</ul>';
}
PHP - Datei: functions.php

Wie machen hier nichts weiter als mittels der get_posts-Funktion uns die Artikel mit den meisten Seitenaufrufen (Views) aus der Datenbank zu holen. Die so ermittelten Artikel werden anschließend in einer Liste verlinkt ausgegeben.

Hinweis

Der vorgestellte Code-Schnipsel basiert auf dem vorgestellten Code aus dem bereits erwähnten Beitrag zum Thema WordPress: Artikel-Views anzeigen. Der dort vorgestellte Code muss sich also auch in eurer functions.php befinden.

Kurze Erläuterung des Codes

Zeile 5 & 24
Wir speichern uns die vorherigen bzw. aktuellen Daten des aktuellen Artikels in einer Variable (Zeile 5), um diese später wieder der globalen $post-Variable zuzuweisen (Zeile 24). Dieses ist nur zu Sicherheit, falls in eurem Theme, nach dem Aufruf der get_popular_posts_by_views-Funktion die Daten zum aktuellen Artikel noch gebraucht werden - auf $post also wieder zugegriffen wird.

FROM (Zeile 7 - 14)
Die meistgelesenen Artikel aus der Datenbank holen. Dabei werden die Artikel nach den Seitenaufrufen absteigend sortiert, so dass der Artikel mit den meisten Seitenaufrufen als erstes ausgegeben werden kann.

WHERE (Zeile 16 - 22)
Zusammensetzung der Ausgabe der Artikel mit den meisten Seitenaufrufen.

Code zum Anzeigen der meistgelesenen Artikel

Der folgende Code kann an beliebige Stelle in eurem WordPress-Theme platziert werden. Möchte man also z.B. die Liste der Top 3 der meistgelesenen und somit beliebesten Artikel eures Blogs in der Sidebar anzeigen, kann man den folgenden Code z.B. in die sidebar.php einfügen:

echo get_popular_posts_by_views(3);
PHP - Datei: sidebar.php

Fazit

Mit der in diesem Beitrag vorgestellten Variante die meistgelesenen Artikel anzuzeigen, habe euch nun eine weitere Möglichkeit aufgezeigt, wie ihr die beliebtesten Artikel eures Blogs ganz einfach auflisten könnt.

Aktualisierungshistorie:
  • 22. August 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).