Willkommen beim WP Wegerl.at 'Lesemodus' + Tastaturnavigation!
Entspanntes Lesen und spannende Artikel warten auf dich.
Entdecke unsere besten Beiträge und genieße den Lesemodus sowie die Tastaturbedienung.
WP Wegerl.at: Einzigartige Designs, optimiert für das Nutzererlebnis.
MU-Plugins; Puzzleteil
smilies.4-user.de

Erstellen eines MU-Plugins z. B. zur IP-Ausschlusslogik für Statify

Illustration krzysztof-m
Werbung

Der Classic-Editor: Vertraut und zuverlässig –
Ihr bewährter Begleiter.


Erleben Sie den Classic Editor neu!
(Bilder von pixelcreatures)


Viele Nutzer schätzen die vertraute Umgebung des Classic-Editors, die eine einfache und schnelle Bearbeitung ermöglicht.




Werbung

Mit dem Advanced Editor Tools auf das nächste Level –
Mehr Funktionen, mehr Möglichkeiten.


Classic Editor + Advanced Editor Tools
= Ihr Erfolgsrezept


Der Advanced Editor erweitert den Funktionsumfang des Classic-Editors und ermöglicht es, Inhalte noch effektiver zu bearbeiten.




Werbung

Einfach und intuitiv –
Der Classic-Editor für alle.


Classic Editor & Advanced Editor Tools
Erleben Sie es.


Der Classic-Editor zeichnet sich durch Stabilität und Zuverlässigkeit aus, was für professionellen Anwender von Bedeutung ist.




Werbung

Mehr schaffen in weniger Zeit –
Der Advanced Editor für kreative Köpfe.


Optimieren Sie Ihre Bearbeitung:
Advanced Editor Tools


Mit dem Advanced Editor können Designer und
Content Creatoren kreative Ideen umsetzten.





In diesem Beitrag wird die Implementierung eines MU-Plugins im Beispiel zur Ausschlusslogik von IP-Adressen für das Statify-Plugin detailliert erläutert. MU-Plugins (Must-Use-Plugins) bieten unter anderem eine leistungsstarke Möglichkeit, benutzerdefinierte Funktionen in WordPress zu integrieren, ohne dass sie durch reguläre Plugin-Updates überschrieben werden.

Must Use Plugins

MU-Plugins (mu-plugins): Primäre Funktion für spezifische Anforderungen

Das Verzeichnis 'mu-plugins' ist im Backend von WordPress unter dem Pfad /wp-content/mu-plugins/ zu finden. Bei Zugriff auf die WordPress-Installation über FTP kann einfach in diesen Ordner navigiert werden, um vorhandene MU-Plugins zu verwalten oder neue hinzuzufügen. MU-Plugins sind besonders nützlich, da sie unabhängig vom aktivierten Theme immer aktiv bleiben und somit spezielle Funktionen bereitstellen können.

MU-Plugins sollten als spezielle Erweiterungen betrachtet werden, die es ermöglichen, spezifische Funktionen und Anpassungen in WordPress dauerhaft zu implementieren. Sie sind besonders nützlich, um sicherzustellen, dass kritische Funktionen, die für die ordnungsgemäße Nutzung anderer Plugins erforderlich sind ("Muss verwenden"), nicht durch Theme- oder Plugin-Updates verloren gehen. Daher ist es ratsam, MU-Plugins für essentielle Aufgaben zu reservieren, die eine langfristige und stabile Integration erfordern, um die Funktionalität der WordPress-Installation zu optimieren.

Das Folgende ist ein Beispiel für eine Erweiterung, die jedoch ebenso gut in einer anderen Form, beispielsweise in der functions.php des Child-Themes oder in einem separat erstellten Plugin, implementiert werden kann – oder sogar sollte. Dieser Beitrag möchte grundsätzlich lediglich auf das Verzeichnis hinweisen, um das Verständnis dafür zu stützen.


Wir werden des Beispieles durch die einzelnen Schritte führen, die erforderlich sind, um ein einfaches, aber effektives Plugin zu erstellen, das spezifische IP-Adressen vom Tracking des Plugins Statify ausschließt.

  • Das Beispiel zeigt die Erstellung eines MU-Plug-ins und könnte ebenso gut in der functions.php des Child-Themes umgesetzt werden.
  • MU-Plug-ins Funktionen, welche dauerhaft auf der Website aktiv bleiben sollen, unabhängig davon, welches Theme aktiv ist oder ob Plugins deaktiviert werden.
  • MU-Plugins sind nützlich, wenn du sicherstellen möchtest, dass bestimmte Anpassungen oder Funktionen nicht durch Updates von Themes oder anderen Plugins überschrieben oder deaktiviert werden.

Egal, ob ein Anfänger oder ein erfahrener Entwickler, dieser Beitrag bietet wertvolle Einblicke in die Verwendung von MU-Plugins in WordPress und deren Integration mit Statify.

Der Beitrag des Beispiels ist im Zusammenhang Für Entwickler: Statify anhand von IDs ausschließen: "Für Entwickler, die regelmäßig Tests in verschiedenen Browsern durchführen, bietet sich eine automatisierte Lösung an, um Klicks von bestimmten IP-Adressen oder IDs aus der Besucherstatistik auszuschließen. Der Ausschluss der Internet-Adresse bleibt auch erhalten, wenn man vom Dashboard abgemeldet ist. Dies verhindert die manuelle Löschung von Daten und optimiert den Workflow."

Erstellen eines Must-Use-Plugins (MU-Plugin)

Statt den Code direkt in den Statify-Core-Dateien zu ändern, empfiehlt es sich, diesen in ein separates Plugin oder ein sogenanntes Must-Use-Plugin (MU-Plugin) auszulagern. MU-Plugins werden stets vor den regulären Plugins geladen und sind nicht von Aktualisierungen betroffen.

Statify-IconDies gewährleistet, dass die vorgenommenen Änderungen unabhängig von Updates des Statify-Plugins erhalten bleiben, solange die zugrunde liegende Logik unverändert bleibt. Sollte sich die Funktionsweise des Plugins durch ein Update grundlegend ändern, könnte eine Anpassung des MU-Plugins erforderlich sein.

Hier ist ein Beispiel:

Schritt 1: MU-Plugin erstellen

  1. Den Ordner mu-plugins im Verzeichnis wp-content erstellen, falls dieser noch nicht existiert. In einigen Fällen wird dieser Ordner auch automatisch von anderen Plugins angelegt.
  2. Eine PHP-Datei mit einem geeigneten Namen, z. B. statify-custom-exclude.php, und folgenden Code einfügen.

Statify: Automatischer Ausschluss der Administrator-IP

Einzelner Administrator: Der Code geht davon aus, dass nur ein Administrator die IP-Adresse verwaltet. Das bedeutet, dass die IP-Adresse, die beim Laden des Dashboards erfasst wird, nur für den jeweiligen Administrator gilt.

Dieser Code ist dafür, dass nur die aktuelle IP-Adresse eines Administrators vom Statify-Tracking ausgeschlossen wird. Sobald ein Administrator auf das Dashboard zugreift, wird seine IP-Adresse automatisch erkannt und im Ausschluss aufgenommen. Der Ausschluss bezieht sich nur auf die jeweils aktuelle IP des Administrators.

Funktionen

  1. Automatischer Ausschluss der aktuellen Administrator-IP:
    • Die IP-Adresse des Administrators wird automatisch erfasst, sobald er sich einloggt.
    • Diese IP wird in die Ausschlussliste aufgenommen und vom Statify-Tracking ausgenommen.
  2. Einzel-IP-Tracking:
    • Nur die aktuelle IP-Adresse eines Administrators ist relevant.
    • Sollte sich die IP-Adresse des Administrators ändern (z. B. durch Nutzung eines anderen Netzwerks), wird die neue IP automatisch hinzugefügt und die vorherige IP überschrieben.
  3. Dashboard-Anzeige:
    • Ein Widget im Dashboard zeigt die aktuelle IP-Adresse des Administrators an und gibt an, ob diese bereits vom Tracking ausgeschlossen wurde.
    • Wenn die IP noch nicht im Ausschluss ist, wird sie automatisch hinzugefügt und die Seite neu geladen.
  4. Statify-Tracking überspringen:
    • Das Tracking wird für diese IP-Adresse des Administrators übersprungen.
    • Solange die IP-Adresse in der Liste ist, wird diese vom Statify-Tracking ignoriert.

Einzel-IP-Verwaltung: Die Ausschluss speichert immer nur eine IP-Adresse. Sollte sich die IP des Administrators ändern, wird die alte IP überschrieben, sodass immer nur die aktuelle IP vom Tracking ausgeschlossen wird.

<?php
/*
Plugin Name: Statify Custom Exclude
Description: Schließt bestimmte IP-Adressen vom Statify-Tracking aus.
Version: 2.1
*/

/* --- Statify: IP-Adresse automatisch ausschließen und vom Tracking ausschließen --- */

// Dashboard-Widget für die aktuelle IP-Adresse
function statify_exclude_ip_widget() {
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    echo '<p>Ihre aktuelle IP-Adresse: <strong>' . esc_html($user_ip) . '</strong></p>';

    // Prüfen, ob die IP bereits ausgeschlossen ist
    $excluded_ips = get_option('excluded_ips', array());

    // Benutzer-ID abrufen
    $current_user_id = get_current_user_id();

    // Überprüfen, ob eine Aktualisierungsmeldung vorliegt
    $ip_updated_notice = get_user_meta($current_user_id, 'statify_ip_updated_notice', true);

    if ($ip_updated_notice) {
        echo '<p><strong>Diese IP-Adresse wurde aktualisiert und ist ausgeschlossen.</strong></p>';
        // Löschen, damit die Nachricht nur einmal angezeigt wird
        delete_user_meta($current_user_id, 'statify_ip_updated_notice');
    } else {
        if (in_array($user_ip, $excluded_ips)) {
            echo '<p><strong>Diese IP-Adresse ist ausgeschlossen.</strong></p>';
        }
    }
}

// IP-Adresse zur Ausschlussliste hinzufügen (alte wird ersetzt)
function statify_add_ip_to_exclude() {
    // Überprüfen, ob der Benutzer Administrator ist
    if (current_user_can('administrator')) {
        // Die aktuelle IP-Adresse abrufen
        $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
        
        // Aktuelle IP-Adresse in die Ausschlussliste hinzufügen
        $excluded_ips = get_option('excluded_ips', array());

        // Wenn die IP nicht bereits ausgeschlossen ist, füge sie hinzu
        if (!in_array($user_ip, $excluded_ips)) {
            // Nur die aktuelle IP-Adresse speichern
            $excluded_ips = array($user_ip);
            update_option('excluded_ips', $excluded_ips);
            
            // Benutzer-Meta setzen, um die spezielle Nachricht für den aktuellen Benutzer zu aktivieren
            $current_user_id = get_current_user_id();
            update_user_meta($current_user_id, 'statify_ip_updated_notice', true);
        }
    }
}

// Dashboard-Widget einbinden
function statify_register_ip_widget() {
    wp_add_dashboard_widget('statify_exclude_ip_widget', 'Statify: IP-Adresse ausschließen', 'statify_exclude_ip_widget');
}
add_action('wp_dashboard_setup', 'statify_register_ip_widget');

// IP zur Liste der ausgeschlossenen IPs hinzufügen (automatisch beim Laden)
add_action('admin_init', 'statify_add_ip_to_exclude');

// Statify-Tracking für ausgeschlossene IPs überspringen
function statify_skip_tracking_for_excluded_ips($skip) {
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    $excluded_ips = get_option('excluded_ips', array());

    // Wenn die IP in der Liste der ausgeschlossenen IPs ist, überspringe das Tracking
    if (in_array($user_ip, $excluded_ips)) {
        return true; // Tracking wird übersprungen
    }

    return $skip; // Tracking wird fortgesetzt, wenn die IP nicht ausgeschlossen ist
}
add_filter('statify__skip_tracking', 'statify_skip_tracking_for_excluded_ips');

/* - Ende Statify: IP-Adresse automatisch ausschließen - */

Entwicklungscode:

<?php
/*
Plugin Name: Statify Custom Exclude
Description: Schließt die IP-Adresse des Admins automatisch vom Statify-Tracking aus.
Version: 2.0
*/

/* --- Statify: IP-Adresse des Admins automatisch vom Tracking ausschließen --- */

// Dashboard-Widget für die aktuelle IP-Adresse
function statify_exclude_ip_widget() {
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    echo '<p>Ihre aktuelle IP-Adresse: <strong>' . esc_html($user_ip) . '</strong></p>';
    
    // Prüfen, ob die IP bereits ausgeschlossen ist
    $excluded_ips = get_option('excluded_ips', array());
    if (in_array($user_ip, $excluded_ips)) {
        echo '<p><strong>Diese IP-Adresse ist ausgeschlossen.</strong></p>';
    } else {
        echo '<p><strong>Diese IP-Adresse wird automatisch zur Ausschlussliste hinzugefügt.</strong></p>';
    }
}

// IP-Adresse zur Ausschlussliste hinzufügen (alte wird ersetzt)
function statify_add_ip_to_exclude() {
    // Überprüfen, ob der Benutzer Administrator ist
    if (current_user_can('administrator')) {
        // Die aktuelle IP-Adresse abrufen
        $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
        
        // Aktuelle IP-Adresse in die Ausschlussliste hinzufügen
        $excluded_ips = get_option('excluded_ips', array());

        // Wenn die IP nicht bereits ausgeschlossen ist, ersetze die Liste
        if (!in_array($user_ip, $excluded_ips)) {
            // Nur die aktuelle IP-Adresse speichern
            $excluded_ips = array($user_ip);
            update_option('excluded_ips', $excluded_ips);
            
            // Seite nach dem Hinzufügen der IP neu laden
            wp_redirect($_SERVER['REQUEST_URI']);
            exit;
        }
    }
}

// Dashboard-Widget einbinden
function statify_register_ip_widget() {
    wp_add_dashboard_widget('statify_exclude_ip_widget', 'Statify: IP-Adresse ausschließen', 'statify_exclude_ip_widget');
}
add_action('wp_dashboard_setup', 'statify_register_ip_widget');

// IP zur Liste der ausgeschlossenen IPs hinzufügen (automatisch beim Laden)
add_action('admin_init', 'statify_add_ip_to_exclude');

// Statify-Tracking für ausgeschlossene IPs überspringen
function statify_skip_tracking_for_excluded_ips($skip) {
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    $excluded_ips = get_option('excluded_ips', array());

    // Wenn die IP in der Liste der ausgeschlossenen IPs ist, überspringe das Tracking
    if (in_array($user_ip, $excluded_ips)) {
        return true; // Tracking wird übersprungen
    }

    return $skip; // Tracking wird fortgesetzt, wenn die IP nicht ausgeschlossen ist
}
add_filter('statify__skip_tracking', 'statify_skip_tracking_for_excluded_ips');

/* - Statify: IP-Adresse des Admins automatisch vom Tracking ausschließen - */

Falls man dies nicht als separates MU-Plugin erstellen möchte, reicht es auch aus, den Code in die functions.php einzufügen. Dabei sollte man darauf achten, dass das <?php am Anfang der kopierten Version entfernt wird, da es in der functions.php bereits vorhanden ist.

Statify: IP-Adressen vom Tracking ausschließen

Mit diesem Code können Administratoren ihre eigenen IP-Adressen und beliebige weitere IPs vom Statify-Tracking ausschließen. Der Ausschluss erfolgt automatisch für Administratoren oder kann manuell über das Dashboard vorgenommen werden.

Funktionen

  1. Automatischer Ausschluss für Administratoren:
    • Sobald sich ein Administrator in das WordPress-Dashboard einloggt, wird seine aktuelle IP-Adresse automatisch zur Ausschlussliste hinzugefügt.
    • Diese IP wird dann nicht mehr im Statify-Tracking erfasst.
  2. Manuelles Hinzufügen von IP-Adressen:
    • Es gibt im Dashboard ein Widget, in dem Sie beliebige IP-Adressen manuell hinzufügen können, die ebenfalls vom Tracking ausgeschlossen werden sollen.
    • Hier geben Sie die neue IP-Adresse einfach in das bereitgestellte Feld ein und klicken auf „Hinzufügen“.
  3. Anzeigen und Löschen von IP-Adressen:
    • Alle aktuell ausgeschlossenen IP-Adressen werden im Dashboard aufgelistet.
    • Sie können einzelne IP-Adressen durch einen einfachen Klick auf „Löschen“ wieder aus der Ausschlussliste entfernen.
    • Wenn eine IP gelöscht wird, wird sie wieder vom Statify-Tracking erfasst,

Jeder Administrator, der sich anmeldet, wird automatisch von Statify ausgeschlossen. Das System prüft, ob die aktuelle IP schon in der Liste ist. Falls nicht, wird sie hinzugefügt. Über das Dashboard können auch andere IP-Adressen hinzugefügt werden, z. B. von externen Teammitgliedern oder anderen Geräten. Das Widget zeigt alle ausgeschlossenen IP-Adressen an. Mit einem Klick auf "Löschen" können IP-Adressen wieder entfernt werden, außer der eigenen.

<?php
/*
Plugin Name: Statify Custom Exclude
Description: Ermöglicht das manuelle und automatische Hinzufügen mehrerer IP-Adressen zur Ausschlussliste von Statify.
Version: 3.0
*/

/* --- Statify: IP-Adressen manuell und automatisch ausschließen --- */

// 1. Dashboard-Widget für IP-Ausschluss registrieren
add_action('wp_dashboard_setup', 'custom_statify_exclude_ip_widget');

function custom_statify_exclude_ip_widget() {
    wp_add_dashboard_widget('statify_custom_exclude_widget', 'Statify: IP-Adressen ausschließen', 'statify_custom_exclude_widget_callback');
}

// 2. IP-Adressen im Dashboard verwalten
function statify_custom_exclude_widget_callback() {
    // Aktuelle IPs abrufen
    $excluded_ips = get_option('excluded_ips', array());

    // Aktuelle IP des Nutzers
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    echo '<p>Ihre aktuelle IP-Adresse: <strong>' . esc_html($user_ip) . '</strong></p>';

    // Prüfen, ob die aktuelle IP ausgeschlossen ist
    if (in_array($user_ip, $excluded_ips)) {
        echo '<p><strong>Diese IP-Adresse ist bereits von Statify ausgeschlossen.</strong></p>';
    } else {
        echo '<p><strong>Diese IP-Adresse wird automatisch zur Ausschlussliste hinzugefügt, wenn Sie Administrator sind.</strong></p>';
    }

    // 3. Formular für neue IP-Eingabe anzeigen
    echo '<form method="post" action="">';
    echo '<input type="text" name="new_ip" placeholder="Neue IP-Adresse" required />';
    echo '<input type="submit" name="submit_ip" value="Hinzufügen" />';
    echo '</form>';

    // 4. Vorhandene IPs anzeigen
    if (!empty($excluded_ips)) {
        echo '<h3>Ausgeschlossene IP-Adressen:</h3>';
        echo '<ul>';
        foreach ($excluded_ips as $ip) {
            echo '<li>' . esc_html($ip) . ' <form method="post" action="" style="display:inline;">';
            echo '<input type="hidden" name="delete_ip" value="' . esc_attr($ip) . '" />';
            echo '<input type="submit" name="submit_delete" value="Löschen" onclick="return confirm(\'Möchten Sie diese IP-Adresse wirklich löschen?\');" />';
            echo '</form></li>';
        }
        echo '</ul>';
    }

    // 5. Neue IP speichern
    if (isset($_POST['submit_ip'])) {
        $new_ip = sanitize_text_field($_POST['new_ip']);
        if (!in_array($new_ip, $excluded_ips)) {
            $excluded_ips[] = $new_ip; // Neue IP zur Liste hinzufügen
            update_option('excluded_ips', $excluded_ips); // Optionen aktualisieren
            wp_redirect($_SERVER['REQUEST_URI']); // Seite neu laden
            exit;
        } else {
            echo '<p>Diese IP-Adresse ist bereits in der Liste.</p>';
        }
    }

    // 6. IP löschen
    if (isset($_POST['submit_delete'])) {
        $ip_to_delete = sanitize_text_field($_POST['delete_ip']);
        if (($key = array_search($ip_to_delete, $excluded_ips)) !== false) {
            unset($excluded_ips[$key]); // IP-Adresse aus dem Array entfernen
            update_option('excluded_ips', $excluded_ips); // Optionen aktualisieren
            wp_redirect($_SERVER['REQUEST_URI']); // Seite neu laden
            exit;
        }
    }
}

// 7. Administrator-IP automatisch zur Ausschlussliste hinzufügen
add_action('admin_init', 'statify_add_admin_ip_to_exclude');
function statify_add_admin_ip_to_exclude() {
    if (current_user_can('administrator')) {
        $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
        $excluded_ips = get_option('excluded_ips', array());

        if (!in_array($user_ip, $excluded_ips)) {
            $excluded_ips[] = $user_ip; // Neue IP hinzufügen, ohne die Liste zu ersetzen
            update_option('excluded_ips', $excluded_ips);
        }
    }
}

// 8. Statify-Tracking für ausgeschlossene IPs deaktivieren
add_filter('statify__skip_tracking', 'statify_skip_tracking_for_excluded_ips');
function statify_skip_tracking_for_excluded_ips($skip) {
    $user_ip = sanitize_text_field($_SERVER['REMOTE_ADDR']);
    $excluded_ips = get_option('excluded_ips', array());

    if (in_array($user_ip, $excluded_ips)) {
        return true; // Tracking überspringen
    }

    return $skip; // Weitertracken, falls die IP nicht ausgeschlossen ist
}

/* - Ende Statify: IP-Adressen ausschließen - */

In der Datenbank den IP-Eintrag finden

Der Codes wird keine neue Datenbank erstellt, sondern eine vorhandene Option in der WordPress-Datenbank verwendet. Die Funktion get_option('excluded_ips', array()) greift auf eine bereits vorhandene Option namens excluded_ips in der WordPress-Datenbank zu, die IP-Adressen speichert, die vom Tracking ausgeschlossen werden sollen.

Falls die Option excluded_ips noch nicht existiert, wird sie automatisch mit einem leeren Array initialisiert (wie durch array() im Code gezeigt). Diese Option wird dann in der WordPress-Datenbank als Teil der allgemeinen wp_options-Tabelle gespeichert, aber es wird keine separate Tabelle speziell dafür angelegt.

  • Der Code erstellt keine neue Datenbank, sondern nutzt die vorhandene WordPress-Datenbank, um die IP-Adressen in der wp_options-Tabelle zu speichern.
  • Die Option excluded_ips, die im Code mit der Funktion get_option() abgerufen wird, wird in der WordPress-Datenbank in der Tabelle wp_options (bzw. <prefix>_options, wenn ein anderes Tabellenpräfix verwendet wird) gespeichert.

Um die gespeicherten IP-Adressen zu finden:

  1. Die Datenbank mit einem Tool wie phpMyAdmin öffnen:
    • Bei phpMyAdmin anmelden oder einem anderen Datenbankverwaltungswerkzeug.
  2. Zur Tabelle wp_options navigieren:
    • In der Liste der Tabellen nach der Tabelle suchen, die mit wp_options (oder entsprechenden Tabellenpräfix) beginnt.
  3. Nach dem Eintrag excluded_ips suchen:
    • In der Tabelle wp_options gibt es eine Spalte namens option_name. Dort kann man nach dem option_name mit dem Wert excluded_ips suchen.
    • Die dazugehörigen IP-Adressen findet sich dann in der Spalte option_value. Dort wird der Inhalt als serialisiertes Array oder als JSON-String gespeichert, wenn mehrere IP-Adressen gespeichert.

Beispiel einer SQL-Abfrage: Falls direkter Zugriff auf die Datenbank ist, kann über SQL die folgende Abfrage verwenden, um den Eintrag zu finden:

SELECT * FROM wp_options WHERE option_name = 'excluded_ips';

Falls das Tabellenpräfix anders ist, ersetze wp_ durch das verwendete Präfix.

Das Ergebnis zeigt die gespeicherten IP-Adressen in der Spalte option_value an.

Der Hinweis zur besonderen Vorsicht bei der Verwendung von phpMyAdmin sollte selbsterklärend sein.

Bildbeschreibung zur Tabelle 'wp_options'

Navigiere zur Tabelle 'wp_options' und klicke sie an, woraufhin die folgende Ansicht erscheint

phpMyAdmin-wp_options-SQL-Abfrage
Der Tabelle 'wp_options'  auf den Reiter 'SQL' klicken.

Klicke anschließend auf den Reiter 'SQL', um das Eingabefeld zu öffnen, in das du den oben genannten SQL-Code eingeben kannst:

phpMyAdmin-SQL-Abfrage
Den oben genannten SQL-Code eingeben.

Nach Bestätigung mit 'OK' erscheint die folgende Ansicht:

phpMyAdmin-wp_options-SQL-Abfrage-Bearbeiten
Das Ergebnis ist etwas unterhalb und mit 'Bearbeiten' folgen die detaillierten Informationen.

Ein Klick auf 'Bearbeiten' zeigt dann die detaillierten Informationen an.

Schritt 2: MU-Plugin aktivieren

MU-Plugins werden automatisch aktiviert, wenn sie im Ordner mu-plugins vorhanden sind, daher ist nichts weiter tun.

Schritt 3: Überprüfen

  1. IP-Adressen hinzufügen: Sicherstellen, dass die Ausschlussliste für IP-Adressen in den Optionen von Statify korrekt funktioniert.
  2. Tracking-Test: Testen, ob das Tracking für die ausgeschlossenen IP-Adressen tatsächlich übersprungen wird.
Aktualisieren-Button
Verwende stets das Statify-Dashboard-Widget, um die Daten zu aktualisieren.
  • Zur Aktualisierung der Besuchsaufzeichnung den Aktualisieren-Button im Statify-Dashboard-Widget verwenden.

Ein kleiner Tipp zum Testen

Ein kleiner Tipp zum Testen, ob der Ausschluss korrekt funktioniert:

Oft ist es nicht so einfach, dies zu überprüfen, da man in der Regel den Router neu starten müsste, um eine neue IP zu erhalten, und zusätzlich sämtliche Caches (einschließlich Objekt- und OP-Cache) sowie den Browser-Cache leeren müsste, was nicht immer zielführend ist.

Eine einfache Lösung bietet der Opera-Browser. Im privaten Fenster gibt es in der Headerleiste links einen VPN-Button. Durch Aktivieren des VPNs erhält man für eine begrenzte Anzahl von Seitenaufrufen eine separate IP-Adresse. So lässt sich auf demselben Computer testen, ob der Ausschluss nur für die eigene IP gilt.

Browser Opera VPN
Opera-Browser VPN im privaten Fenster.

Klickt man im Opera-Browser mit aktiviertem VPN auf die Website, sollten diese Aufrufe in Statify getrackt werden, während Aufrufe mit der eigenen IP im normalen Browser nicht erfasst werden.


… oder in einem separat erstellten Plugin. Wie du auch ganz anders vorgehen kannst, um Codes einzufügen, zeigt Folgendes:

Wie du Änderungen an deiner WordPress Seite vornimmst, ohne das Theme zu berühren.

Somit wäre es komfortabel, zwischen dem zu trennen, was im Child-Theme enthalten ist und somit themenspezifisch ist, und dem, was allgemeingültig sein sollte. Das ist besonders vorteilhaft, wenn ein Themenwechsel ansteht.

Das Plug-in ist wie der geheime Zaubertrank von WordPress: Es macht alles stabiler, hält die Updates in Schach und lässt deine Ideen sprudeln, ganz ohne Chaos im Zauberlabor!

Unterschiede zwischen functions.php und MU-Plugins

Bei der Verwendung von MU-Plugins im Vergleich zur functions.php eines Child Themes gibt es einige Unterschiede:

  1. Ladepriorität: MU-Plugins werden vor allen anderen Plugins, einschließlich der functions.php, geladen. Dies kann von Vorteil sein, wenn die Änderungen oder Funktionen sofort verfügbar sein müssen.
  2. Unabhängigkeit von Updates: Änderungen in MU-Plugins bleiben unabhängig von Theme-Updates erhalten, während die functions.php eines Child Themes möglicherweise betroffen sein kann, wenn das übergeordnete Theme aktualisiert wird.
  3. Zugänglichkeit: MU-Plugins sind für alle Themes und Plugins aktiv, was bedeutet, dass Funktionen, die in MU-Plugins definiert sind, unabhängig vom aktuellen aktiven Theme verfügbar sind.
  4. Flexibilität: Alles, was in der functions.php eines Child Themes steht, kann auch in ein MU-Plugin übertragen werden. Dies ermöglicht eine bessere Organisation und Trennung von Funktionen, die über die spezifische Funktionalität des Child Themes hinausgehen.

Es ist zu beachten, dass bei der Übertragung von Funktionen in MU-Plugins darauf geachtet werden sollte, keine Konflikte mit bestehenden Plugins oder Funktionen zu verursachen. Eine gründliche Prüfung der Funktionalität und der Abhängigkeiten ist ratsam, um sicherzustellen, dass alles reibungslos funktioniert.

Zudem sollte darauf geachtet werden, keine leeren PHP-Dateien (ohne jeglichen Inhalt) in WordPress-Installationen, insbesondere im Verzeichnis mu-plugins, abzulegen. Auch wenn sie auf den ersten Blick keine Fehler verursachen, können sie subtile und schwer zu diagnostizierende Probleme hervorrufen. Eine PHP-Datei ist auch dann korrekt, wenn sie lediglich das Eröffnungs-Tag <?php enthält. Fehlt dieses Tag, behandelt der Server den Inhalt als reinen Text, was zu unerwartetem Verhalten oder Problemen führen kann, besonders in WordPress und anderen PHP-basierten Anwendungen.

Performance und Verwendung von Must Use-Plugins (MU-Plugins)

Es ist zu verstehen, dass die Verwendung von Must Use-Plugins (MU-Plugins) in der WordPress-Umgebung nicht zwangsläufig zu Performanceeinbußen führt. Im Grunde genommen verhält sich der Code in einem MU-Plugin ähnlich wie der Code, der direkt im Haupt-Plugin oder in der functions.php des Themes integriert ist.

Der Vorteil von MU-Plugins liegt in ihrer Unabhängigkeit: Sie werden immer vor den regulären Plugins geladen und können durch Updates des Haupt-Plugins nicht überschrieben werden. Dies gewährleistet, dass Ihre Anpassungen weiterhin funktionieren, solange die zugrunde liegende Logik des Haupt-Plugins unverändert bleibt.

Es ist auch zu beachten, dass die zusätzliche Abfrage von IP-Adressen in der Regel keine signifikanten Leistungseinbußen verursacht, insbesondere wenn sie gut implementiert ist. Die Implementierung eines MU-Plugins zur Ausschlusslogik für Statify wurde so gestaltet, dass sie effizient arbeitet, ohne die Performance des Frontends zu beeinträchtigen.

Das Verzeichnis 'mu-plugins': Deine unsichtbaren Helfer für eine reibungslose WordPress-Performance – gut zu wissen.

Zusammenfassung

Das Verzeichnis mu-plugins unterscheidet sich grundlegend von der Verwendung normaler Plugins, da hier Plugins implementiert werden, die nicht deaktivierbar sind. Sie sind speziell für wichtige Funktionen oder Anpassungen gedacht, die stets aktiv sein sollen. Diese Struktur ermöglicht es, spezifische Logik und Funktionalitäten zu integrieren, die über die regulären Plugin-Anwendungen hinausgehen und in bestimmten Szenarien besonders nützlich sein können.

wp wegerl.at

Der Beitrag wurde mit fachlicher Unterstützung erstellt.


Aktualisiert im Jahr 2024 Oktober