Einfacher Besucherzähler für WordPress als Plugin

Du möchtest die Anzahl der Aufrufe deiner WordPress-Beiträge zählen? In diesem Tutorial werden wir Schritt für Schritt ein einfaches Plugin für WordPress erstellen, das die Anzahl der Aufrufe eines einzelnen Beitrags mit Hilfe von Sessions zählt. Dieses Tutorial richtet sich sowohl an Anfänger als auch an Fortgeschrittene in der WordPress-Programmierung und PHP.

Was benötigst du?

  • Eine WordPress Umgebung
  • Einen Texteditor oder einen Editor deiner Wahl

So geht’s:

Erstelle ein neues Plugin

  • Lege im Verzeichnis /wp-content/plugins/ einen neuen Ordner mit einem eindeutigen Namen an (z.B. post-views-counter).
  • Erstelle innerhalb des Ordners eine neue Datei mit der Endung .php und demselben Namen wie der Ordner (z.B. post-views-counter.php).

Füge den Plugin-Header hinzu

Füge am Anfang der Datei post-views-counter.php folgenden Code ein, um den Plugin-Header zu definieren:

/*
Plugin Name: Einfacher Besucherzähler
Description: Ein Plugin zum zählen der Besucher für jeden Beitrag.
Version: 1.0
Author: Programmier Tipps
Author URI: https://www.programmier-tipps.de/
*/

Definiere die Funktionen

Füge folgenden Code in die Datei post-views-counter.php ein.

if ( ! defined( 'ABSPATH' ) ) exit;

Der Code if ( ! defined( 'ABSPATH' ) ) exit; dient dazu zu überprüfen, ob das Skript innerhalb der WordPress-Umgebung ausgeführt wird und verhindert ungewollte direkte Ausführung.

Als nächstes benötigen wir zwei Funktionen, setView() um die Besucherzahlen zu speichern und getView() um diese auszulesen.

function setView($postID): void
{
    // Validierung der Beitrags-ID
    if (!is_numeric($postID) || $postID <= 0) {
        return; // Ungültige Beitrags-ID
    }
    session_start();

    $count_key = 'post_views_count';

    // Überprüfe, ob die Sitzung bereits besucht wurde
    if (!isset($_SESSION['visited_post_' . $postID])) {
        // Wenn nicht, erhöhe den Zähler
        $count = get_post_meta($postID, $count_key, true);
        if($count == ''){
            $count = 0;
            add_post_meta($postID, $count_key, '1', true); // Neuer Eintrag mit Wert 1
        } else {
            $count++;
            update_post_meta($postID, $count_key, $count);
        }
        // Markiere die Sitzung als besucht
        $_SESSION['visited_post_' . $postID] = true;
    }
}
function getView($postID)
{
    // Validierung der Beitrags-ID
    if (!is_numeric($postID) || $postID <= 0) {
        return false; // Ungültige Beitrags-ID
    }

    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0";
    }
    return $count;
}

Aktiviere das Plugin

  • Melde dich in deinem WordPress-Dashboard an und navigiere zu Plugins > Installierte Plugins.
  • Suche nach dem Plugin „Einfacher Besucherzähler“ und klicke auf Aktivieren.

Um die Anzahl der Aufrufe eines Beitrags anzuzeigen, füge folgenden Code an die gewünschte Stelle in deiner Beitragsvorlage (z.B. single.php) ein:

Speichern von Views

Dieser Code muss in die erste Zeile deines Templates um keine Session Fehler zu bekommen.

<?php setView(get_the_ID()); ?>

Anzeigen von Views

<div class="post-views"><?php echo getView(get_the_ID()); ?> mal gelesen</div>

Fazit

Der Besucherzähler mit Session in WordPress bietet eine einfache Möglichkeit, die Anzahl der Aufrufe eines Beitrags zu verfolgen. Die Implementierung ist relativ einfach und kann mit grundlegenden PHP-Kenntnissen durchgeführt werden.

Vorteile

  • Einfache Implementierung: Der Code ist leicht verständlich und kann schnell in bestehende WordPress-Themes oder Plugins integriert werden.
  • Genaue Zählung: Die Verwendung von Sessions ermöglicht eine präzise Erfassung der Besucherzahlen, da doppelte Zählungen vermieden werden.
  • Flexible Anpassung: Der Code kann an deine individuellen Bedürfnisse angepasst werden, z. B. durch die Anzeige der Besucherzahlen in verschiedenen Formaten.

Hast du noch Fragen oder stößt du auf Probleme?

Kein Problem! Schreibe uns deine Fragen in die Kommentare.

* Werbung/Affiliate Link

Schreibe einen Kommentar

Erforderliche Felder sind entsprechend markiert.

Wird nicht veröffentlicht.