0
(0)

WordPress Beliebte Artikel anzeigen: Quick-Start Tutorial 

Erstellt / aktualisiert

wichtige Informationen...

Affiliate - Offenlegung

Auf meiner Seite verwende ich sogenannte Affiliate-Links, diese sind mit einem gekennzeichnet, damit du diese auch direkt erkennen kannst.
Sobald du über so einen Link das Produkt kaufen würdest, erhalte ich möglicherweise eine Provision vom jeweiligen Anbieter. Außerdem entstehen für Dich natürlich keine zusätzlichen Kosten!
Mich unterstützt du damit aber enorm und trägst dazu bei, dass es auch in Zukunft weitere Guides und Vorstellungen von mir hier geben wird.

Ich empfehle nur Tools / PlugIns / Anbieter / Produkte, hinter denen ich auch wirklich stehe, bzw. bei denen ich auch einen Mehrwert sehe.

DarkWolfCave.de ist Teilnehmer des Amazon-Partnerprogramms, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.


ACHTUNG! Bitte lesen!

Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.

Aber dennoch… Backups sind immer gut….
Für WordPress-Backups am besten mit UpdraftPlus

Ich übernehme keine Haftung für Schäden jeglicher Art am System, der Hardware oder der Katze…. :-P


DarkWolfCave.de

WordPress beliebte Artikel anzeigen: Quick-Start Tutorial 

Vor einiger Zeit stand ich vor einer interessanten Herausforderung: Wie kann ich unter WordPress beliebte Artikel anzeigen lassen, die von dem Plugin “Statify” ermittelt wurden? Natürlich sollte dies automatisch passieren. Das WordPress-Plugin Statify sammelt zwar zuverlässig Zugriffsdaten, bietet aber keine direkte Möglichkeit, diese Informationen für die Besucher sichtbar zu machen.

Bei der Suche nach einer schlanken Lösung testete ich verschiedene WordPress-Plugins zur Anzeige beliebter Beiträge. Doch entweder waren sie überladen mit Features, die ich nicht benötigte, oder sie ignorierten komplett die bereits vorhandenen Statify-Daten. Besonders störend war die zusätzliche Datenbankbelastung durch redundante Tracking-Mechanismen.

Die Lösung? Ein eigens entwickeltes, performance-optimiertes WordPress-Snippet, das direkt mit der Statify-Datenbank kommuniziert. In diesem Tutorial zeige ich dir, wie du diese maßgeschneiderte Integration Schritt für Schritt umsetzt. Du lernst, wie du mit wenigen Zeilen Code und dem praktischen CodeSnippets Plugin eine automatische Anzeige deiner meistbesuchten Artikel einrichtest – ohne Performance-Einbußen und perfekt integriert in dein bestehendes Statify-Setup.

DarkWolfCave.de

Was dich in diesem Tutorial erwartet:

  • 🚀 Performance-optimierter Code für WordPress
  • 📊 Direkte Integration mit Statify-Daten
  • 🔄 Automatisches Caching-System
  • 🛠️ Einfache Implementation via CodeSnippets Plugin
KI-generiert
WordPress Code Snippets Plugin Editor mit Statify Integration - Wordpress beliebte Artikel anzeigen

Voraussetzungen für die WordPress Integration

Bevor wir mit der Implementierung beginnen, stelle sicher, dass folgende Komponenten verfügbar sind:

  • WordPress Installation (Version 5.0+)
  • Statify Plugin (installiert und aktiviert)
  • CodeSnippets Plugin (empfohlen, aber nicht zwingend notwendig)
  • Grundlegende PHP-Kenntnisse

Code Snippets Plugin: Die beste Wahl für Custom Code

Bevor wir mit dem eigentlichen Code beginnen, lass uns kurz über das Plugin “CodeSnippets” sprechen.
Es ist meine bevorzugte Methode zur Implementierung von Custom Code in WordPress, und das aus gutem Grund:

Warum Code Snippets?

  1. Sicherheit & Stabilität
  • Syntax-Überprüfung verhindert PHP-Fehler
  • Geschützter Code-Editor mit Highlighting
  • Keine direkten Theme-Datei-Änderungen nötig
  1. Einfaches Management
  • Zentrale Verwaltung aller Snippets
  • Aktivieren/Deaktivieren mit einem Klick
  • Snippets können kategorisiert werden
  1. Update-sicher
  • Unabhängig vom Theme
  • Überlebt WordPress-Updates
  • Keine verlorenen Änderungen

Du wirst hier einen groben Überblick finden.
Allerdings biete ich dir auch noch etwas mehr Support an:

  • Du benötigst persönlichen Support
  • Du möchtest von Beginn an Unterstützung bei deinem Projekt
  • Du möchtest ein hier vorgestelltes Plugin durch mich installieren und einrichten lassen
  • Du würdest gerne ein von mir erstelltes Script etwas mehr an deine Bedürfnisse anpassen

Für diese Punkte und noch einiges mehr habe ich einen limitierten
VIP-Patreon Tarif
eingerichtet. Falls er dir dort zurzeit nicht angeboten wird,
kontaktiere mich bitte über Discord und wir finden eine Lösung!

Der Code im Detail

Lass uns den Code Schritt für Schritt durchgehen. Ich erkläre dir ein wenig, was jeder Teil macht. Solltest du weitere Fragen haben, dann kannst du diese gerne in den Kommentaren stellen oder auch direkt bei mir in Discord.

🔍 Wichtig: Du benötigst für dieses Snippet eine installierte und aktivierte Statify-Version. Denn zum Ermitteln der beliebtesten Artikel, nutze ich diese Daten.

1. Die Hauptfunktion: Datenabfrage mit Caching

Diese Funktion bildet das Herzstück unseres Snippets und implementiert mehrere wichtige Features:

  • Caching mit WordPress Transients: Verhindert unnötige Datenbankabfragen
  • Sichere SQL-Abfragen: Nutzt wpdb->prepare für SQL-Injection-Schutz
  • Flexibler Limit-Parameter: Anpassbare Anzahl der Artikel
function get_popular_statify_articles($limit = 5) {
    $popular_articles = get_transient('popular_statify_articles');

    if (!$popular_articles) {
        global $wpdb;
        // Datenbankabfrage
        $query = $wpdb->prepare(
            "SELECT target, COUNT(*) as views 
            FROM {$wpdb->prefix}statify 
            GROUP BY target 
            ORDER BY views DESC 
            LIMIT %d", 
            $limit
        );

        $popular_articles = $wpdb->get_results($query);
        set_transient('popular_statify_articles', $popular_articles, 3600 * 6);
    }

    return $popular_articles;
}

Was passiert hier?

  • Sollte beim Aufruf kein Limit angegeben werden, wird hier per Default 5 gesetzt: $limit = 5 – dies bewirkt, dass nur 5 beliebte Artikel angezeigt werden
  • Die Funktion prüft außerdem den Cache (Transients)
  • Nur wenn keine gecachten Daten vorliegen, wird die Datenbank abgefragt
  • Die Ergebnisse werden für 6 Stunden gecacht ( $popular_articles, 3600 * 6) )
  • SQL-Injection wird durch prepare verhindert

2. Die Anzeigelogik

function display_popular_statify_articles($limit = 5) {
    $popular_articles = get_popular_statify_articles($limit);

    echo '<ul class="popular-articles">';
    foreach ($popular_articles as $article) {
        $permalink = $article->target;
        $post_id = url_to_postid($permalink);
        $post = get_post($post_id);
        if ($post) {
            $title = $post->post_title;
            echo '<li><a href="' . esc_url($permalink) . '">' . esc_html($title) . '</a></li>';
        }
    }
    echo '</ul>';
}

Wichtige Features:

  • Die gefundenen beliebten Artikel werden in einer HTML-Struktur ausgegeben
  • Sicherheits-Escaping für URLs und Titel ( esc_url($permalink) . '">' . esc_html($title) )
  • Fehlerbehandlung für nicht existierende Posts

3. Der Shortcode für flexible Integration

function popular_statify_articles_shortcode($atts) {
    $atts = shortcode_atts(array('limit' => 5), $atts);
    ob_start();
    display_popular_statify_articles($atts['limit']);
    return ob_get_clean();
}
add_shortcode('popular_statify_articles', 'popular_statify_articles_shortcode');

Einsatzmöglichkeiten:

  • In Beiträgen: [[[popular_statify_articles]]]
  • In Seiten: [[[popular_statify_articles limit="3"]]]
  • In Templates: <?php echo do_shortcode('[[[popular_statify_articles]]]'); ?>

Du kannst natürlich bei jedem Aufruf die Anzahl der ausgegebenen beliebten Artikel angeben. Einfach an den Shortcode limit="ANZAHL" anhängen.

4. Das kleine Styling

ul.popular-articles {
    list-style: none;
    padding: 0;
}

ul.popular-articles li {
    margin-bottom: 10px;
}

ul.popular-articles li a {
    display: block;
    text-align: right;
}

ul.popular-articles li a:hover {
    text-decoration: underline;
}

Design-Features:

  • Klare, aufgeräumte Darstellung
  • Responsive Layout
  • Hover-Effekte für bessere UX
  • Rechtsbündige Ausrichtung

Du kannst dieses CSS in “Design-Customizer-Zusätzliches CSS” oder in Code Snippets Pro im Abschnitt CSS eintragen. Oder einfach ganz weglassen.

KI-generiert
Firefly Erstelle eine einfache stilisierte Wolfsfigur die in einem klassischen Comicstil gezeichne

Implementation mit CodeSnippets

Der vollständige Source Code:

function get_popular_statify_articles($limit = 5) {
    // Versuche, die Daten aus dem Transient-Cache abzurufen
    $popular_articles = get_transient('popular_statify_articles');

    // Überprüfen, ob der Transient nicht vorhanden oder abgelaufen ist
    if (!$popular_articles) {
        echo '<!-- Datenbankabfrage wird ausgeführt -->'; // Nachricht ausgeben
        global $wpdb;

        // Sicherstellen, dass die SQL-Abfrage sicher ist mit prepare
	    	$query = $wpdb->prepare(
            "SELECT target, COUNT(*) as views 
            FROM {$wpdb->prefix}statify 
            GROUP BY target 
            ORDER BY views DESC 
            LIMIT %d", 
            $limit
        );
        
        $popular_articles = $wpdb->get_results($query);
        
        // Daten in den Cache für 6 Stunden speichern (3600 Sekunden * 6 Stunden)
        set_transient('popular_statify_articles', $popular_articles, 3600 * 6);
    } else {
        echo '<!-- Daten werden aus dem Transient-Cache abgerufen -->'; // Nachricht ausgeben
    }
    
    return $popular_articles;
}

// Funktion zum Anzeigen der beliebtesten Artikel
function display_popular_statify_articles($limit = 5) {
    $popular_articles = get_popular_statify_articles($limit);
    
    // Ausgabe der Artikel
    echo '<ul class="popular-articles">';
    foreach ($popular_articles as $article) {
        $permalink = $article->target;
        $post_id = url_to_postid($permalink);
        $post = get_post($post_id);
        if ($post) {
            $title = $post->post_title;
            echo '<li><a href="' . esc_url($permalink) . '">' . esc_html($title) . '</a></li>';
        } else {
            echo '<!-- Kein gültiger Post für URL: ' . esc_url($permalink) . ' gefunden -->';
        }
    }
    echo '</ul>';
}


// Shortcode zum Anzeigen der beliebtesten Artikel in einem Beitrag oder einer Seite
function popular_statify_articles_shortcode($atts) {
    $atts = shortcode_atts(array('limit' => 5), $atts);
    ob_start();
    display_popular_statify_articles($atts['limit']);
    return ob_get_clean();
}
add_shortcode('popular_statify_articles', 'popular_statify_articles_shortcode');

Es gibt eine kostenlose und eine Pro-Version von CodeSnippets.
In der Regel reicht die kostenlose. Sollte es aber aktuell wieder eine Lifetime-Licence geben, dann würde ich zuschlagen (einmal bezahlen, für immer behalten). Die freie Version kannst du direkt in WordPress finden und installieren:

  1. Installation des Plugins
  • WordPress Admin → Plugins → Neu hinzufügen
  • Nach “Code Snippets” suchen
  • Installieren und aktivieren
  1. PHP-Code hinzufügen
  • Snippets → Neu hinzufügen
  • Titel: “Beliebte Artikel via Statify”
  • PHP-Code einfügen
  • “Run snippet everywhere” auswählen
  • Speichern und Aktivieren
  1. CSS-Styling hinzufügen (Code Snippets Pro)
  • Neues Snippet erstellen
  • Als CSS markieren
  • Styling-Code einfügen
  • Frontend-Scope wählen
  1. CSS-Styling hinzufügen (Customizer)
  • Admin-Menü Design -> Customizer auswählen
  • Zusätzliches CSS auswählen
  • Styling-Code einfügen
  • Veröffentlichen

Praxistipps und Optimierungen

Cache-Dauer anpassen

du kannst die Zeit selbst bestimmen, nach welcher eine neue Datenbankabfrage auf die beliebtesten WordPress-Artikel erfolgen soll. Zum Beispiel 6 Stunden bedeutet: Es wird eine Datenbankabfrage durchgeführt und das Ergebnis 6 Stunden gespeichert und ausgegeben. Dies reduziert die Datenbankabfragen deutlich.
Hier zwei Beispiele, in den Sourcecode baust du dann natürlich nur einen davon ein 😉

// Standard: 6 Stunden
set_transient('popular_statify_articles', $popular_articles, 3600 * 6);

// Beispiel für 24 Stunden
set_transient('popular_statify_articles', $popular_articles, 3600 * 24);

Performance-Optimierung

  • Cache-Dauer an deine Bedürfnisse anpassen
  • Limit sinnvoll setzen (5-10 Artikel empfohlen)
  • Regelmäßige Cache-Bereinigung einplanen (optional)
FAQ - Frequently Asked Questions DarkWolfCave

FAQ´s

Mit den Standard-Einstellungen werden die Daten alle 6 Stunden aktualisiert.
Du kannst diesen Wert aber jederzeit über die Cache-Dauer (Transient) anpassen.

Nein, durch das implementierte Caching-System wird die Datenbankabfrage nur alle 6 Stunden (Default – anpassbar) ausgeführt.
Zwischen den Aktualisierungen werden die Daten aus dem schnellen WordPress-Cache geladen.

Ja, das Snippet ist so entwickelt, dass es mit jedem Theme laufen sollte.
Sofern du das Plugin CodeSnippets benutzt, benötigst du auch kein Child-Theme.
Das mitgelieferte CSS kann bei Bedarf an dein Theme angepasst werden.

Da ich das Plugin CodeSnippets zum Implementieren des Codes benutze, bleiben alle Funktionen auch nach WordPress oder Theme-Updates erhalten. Dies ist einer der großen Vorteile gegenüber direkten Theme-Änderungen.

Du hast weitere Fragen oder benötigst Hilfe? Gerne versuche ich im Rahmen meiner Möglichkeiten, dich zu unterstützen. Dafür kannst du hier die Kommentar-Sektion (nicht vergessen, Antworten zu abonnieren) nutzen oder du schaust auf meinem Discord-Kanal vorbei.

Erweiterungsmöglichkeiten

1. Zusätzliche Metadaten anzeigen

Du kannst den Code etwas anpassen und zum Beispiel die Anzahl der Views mit ausgeben lassen:

// Erweiterte Anzeigefunktion mit Aufrufen
echo '<li>
    <a href="' . esc_url($permalink) . '">
        ' . esc_html($title) . '
        <span class="views">(' . $article->views . ' Aufrufe)</span>
    </a>
</li>';

2. Zeitraum begrenzen

Falls du immer nur einen bestimmten Zeitraum berücksichtigen möchtest, kannst du dies mit dieser Änderung durchführen:
(Beispiel 30 Tage)

$query = $wpdb->prepare(
    "SELECT target, COUNT(*) as views 
    FROM {$wpdb->prefix}statify 
    WHERE DATE(created) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
    GROUP BY target 
    ORDER BY views DESC 
    LIMIT %d", 
    $limit
);

Fazit

Mit diesem WordPress-Snippet hast du eine performante und flexible Lösung zur Anzeige deiner beliebtesten Artikel, basierend auf realen Besucherdaten aus Statify. Durch die Nutzung des CodeSnippets Plugins bleibt deine Implementation sauber und update-sicher.

🔍 Independent-Analytics: Du nutzt dieses Tool?! Dann kannst du auch direkt auf diese Daten zugreifen, um deine beliebtesten WordPress-Artikel anzeigen zu lassen. Schaue dir dazu einfach den passenden Beitrag von mir an!

Nützliche Links

Avatar-Foto

Ich bin ein 1977 geborener Technik-Nerd. Mein erster Gefährte in der digitalen Welt war ein C64, der den Grundstein für meine Leidenschaft für Technologie legte. So wurde mein Hobby zum Beruf, und ich begann eine Ausbildung zum IT-Systemelektroniker. Selbst in meiner knappen Freizeit widme ich mich weiterhin meiner Leidenschaft fürs Gaming, verschiedene Programmiersprachen und andere IT-bezogene Themen. Ansonsten mag ich Hunde und bin fasziniert von Wölfen!

Gefällt dir der Beitrag?
Hinterlasse gerne ein paar Sterne!

Wie hilfreich war dieser Beitrag für Dich?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Neueste
Älteste
Inline Feedbacks
Alle Kommentare anzeigen

GitHub - Sourcecode

Den gesamten und aktuellen Sourcecode meiner Scripte, Snippets und Tools findest du ab jetzt auch in meinem GitHub Account!
Inhalt