Ihr bewährter Begleiter.
Viele Nutzer schätzen die vertraute Umgebung des Classic-Editors, die eine einfache und schnelle Bearbeitung ermöglicht.
Mehr Funktionen, mehr Möglichkeiten.
Der Advanced Editor erweitert den Funktionsumfang des Classic-Editors und ermöglicht es, Inhalte noch effektiver zu bearbeiten.
Der Classic-Editor für alle.
Der Classic-Editor zeichnet sich durch Stabilität und Zuverlässigkeit aus, was für professionellen Anwender von Bedeutung ist.
Der Advanced Editor für kreative Köpfe.
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.
Inhaltsverzeichnis
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-Plugins und könnte ebenso gut in der
functions.php
des Child-Themes umgesetzt werden. - MU-Plugins 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.
Im Hinblick auf die DSGVO benötigen Dienste wie Google Analytics und andere Zustimmung von Besuchern zur Verwendung von Cookies, um Besucherstatistiken aufzuzeichnen. Im Gegensatz dazu ... weiterlesen
Der Beitrag 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.
Dies 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
- Den Ordner
mu-plugins
im Verzeichniswp-content
erstellen, falls dieser noch nicht existiert. In einigen Fällen wird dieser Ordner auch automatisch von anderen Plugins angelegt. - Eine PHP-Datei mit einem geeigneten Namen, z. B.
statify-custom-exclude.php
, und einen der folgenden Code einfügen.
Wir bieten zwei PHP-Codes zum Ausschluss von IP-Adressen an: Der erste Code schließt die IP-Adresse des Administrators vom Tracking aus, der zweite ermöglicht den Ausschluss mehrerer IP-Adressen.
Statify: Automatischer Ausschluss der Administrator-IP (eine 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
- 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.
- 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.
- 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.
- Ein Widget im Dashboard zeigt die aktuelle IP-Adresse des Administrators an und gibt an, ob diese bereits vom Tracking ausgeschlossen wurde.
- 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: 1.0.0
*/
/* --- 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 - */
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.
Entwicklungscode
<?php
/*
Plugin Name: Statify Custom Exclude
Description: Schließt die IP-Adresse des Admins automatisch vom Statify-Tracking aus.
Version: 0.0.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 - */
Statify: Mehrere 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
- 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.
- 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“.
- 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 die eigene, da sie automatisch hinzugefügt wird.
<?php
/*
Plugin Name: Statify Custom Exclude
Description: Ermöglicht das manuelle und automatische Hinzufügen mehrerer IP-Adressen zur Ausschlussliste von Statify.
Version: 1.0.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 Funktionget_option()
abgerufen wird, wird in der WordPress-Datenbank in der Tabellewp_options
(bzw.<prefix>_options
, wenn ein anderes Tabellenpräfix verwendet wird) gespeichert.
Um die gespeicherten IP-Adressen zu finden:
- Die Datenbank mit einem Tool wie phpMyAdmin öffnen:
- Bei phpMyAdmin anmelden oder einem anderen Datenbankverwaltungswerkzeug.
- Zur Tabelle
wp_options
navigieren:- In der Liste der Tabellen nach der Tabelle suchen, die mit
wp_options
(oder entsprechenden Tabellenpräfix) beginnt.
- In der Liste der Tabellen nach der Tabelle suchen, die mit
- Nach dem Eintrag
excluded_ips
suchen:- In der Tabelle
wp_options
gibt es eine Spalte namensoption_name
. Dort kann man nach demoption_name
mit dem Wertexcluded_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.
- In der Tabelle
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
Klicke anschließend auf den Reiter 'SQL', um das Eingabefeld zu öffnen, in das du den oben genannten SQL-Code eingeben kannst:
Nach Bestätigung mit 'OK' erscheint die folgende Ansicht:
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
- IP-Adressen hinzufügen: Sicherstellen, dass die Ausschlussliste für IP-Adressen in den Optionen von Statify korrekt funktioniert.
- Tracking-Test: Testen, ob das Tracking für die ausgeschlossenen IP-Adressen tatsächlich übersprungen wird.
- Zur Aktualisierung der Besuchsaufzeichnung bitte den Aktualisieren-Button im Statify-Dashboard-Widget verwenden. Hinweis: Ein einfaches Neuladen der Website reicht möglicherweise nicht aus, um die tatsächlichen Besucheraufrufe zu synchronisieren.
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.
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.
Anstatt eines MU-Plugins kann das auch in einem separat erstellten Plugin umgesetzt werden. Wir halten das für praktischer, da man das Plugin bei Bedarf einfach deaktivieren kann, was beim Debuggen hilfreich sein kann.
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 mal 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:
- 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. - 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. - 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.
- 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.
Der Beitrag wurde mit fachlicher Unterstützung erstellt.
Aktualisiert im Jahr 2024 Oktober