Wohin mit Code-Snippets?
Oft wird man gefragt:
Wohin mit Anpassungen am Theme? Wohin mit Code-Snippets von StackExchange? Wohin mit kleinen, eigenen Funktionalitäten?
Dafür ist eigentlich die Datei functions.php im Theme zuständig.
Problem Problem Problem: Wenn das nicht das eigene Theme ist, sind die Änderungen beim nächsten Theme-Update weg!
Was ist könnte die Lösung sein?
Child-Themes!
Dadurch bleiben Änderungen bei jedem Update erhalten.
Ist das die beste Lösung für eigenen Code?
Meistens nicht!
Ein Plugin ist für eigene Funktionalitäten meist die beste Lösung.
Blöd nur, dass man das deaktivieren kann. Oder, dass es viel zu spät in Abläufe eingreift.
Doch halt, dafür gibt es eine Lösung!
Eine, die noch viel einfacher ist, als eigene Plugins zue erstellen oder irgendwelche functions.php Dateien anzugreifen o.ä.
Must Use Plugins ist die Lösung
Must Use oder mu-plugins sind eigentlich keine Plugins. Es sind PHP-Dateien, die von WordPress automatisch geladen werden, wenn Sie im Verzeichnis wp-content/mu-plugins abgelegt werden.
Das sagt die offizielle WordPress-Doku zu MU-Plugins:
Hie die Info aus dem alten WordPress-Codex
https://wordpress.org/support/article/must-use-plugins/
Der WordPress-Codex sagt über mu-plugins:
Must-use plugins (a.k.a. mu-plugins) are plugins installed in a special directory inside the content folder and which are automatically enabled on all sites in the installation.
Also:
mu-plugins sind Plugins, die in einem speziellen Verzeichnis im content Verzeichnis installiert werden. Diese Plugins werden automatisch auf allen Seiten einer Installation aktiviert. (Anmerkung: Mit Seiten sind Multisite-Blogs gemeint)
Speicherort
Einfach eine PHP-Datei in das Verzeichnis wp-content/mu-plugins legen, und schon ist das MU-Plugin erstellt!
Das war’s!
Mehr ist nicht zu tun.
Die Datei braucht keinen speziellen Namen. Alles was im Ordner wp-content/mu-plugins liegt, wird von WordPress automatisch verarbeitet!
Achtung!
Das Verzeichnis wp-content/mu-plugins ist nicht sofort nach dem Installieren von WordPress da.
Wenn es noch keinen Ordner mu-plugins gibt, dann muss man den Ordner erst selbst erstellen!
Also nicht wundern, wenn du dir dein WordPress-Verzeichnis anschaust, und dir der mu-plugins Ordner fehlt. Dann einfach anlegen :)
Was bringt ein MU-Plugin?
Die Vorteile sind daher:
- Kein formales Plugin notwendig, nur eine PHP-Datei mit Code. Daher weniger Arbeitsaufwand und Code Overhead
- Dieser Code wird immer aktiviert. Es muss kein Plugin aktiviert werden.
- Dieses „Plugin“ kann nicht deaktiviert werden, es scheint auch nicht in der Pluginübersicht auf
- Code wird vor dem laden anderer Plugins geladen.
- Code/Plugin wird auf allen Blogs einer Multisite aktiviert.
Diese Funktionalität von WordPress ist verdammt praktisch.
Ich brauch für kleinere Funktionen nicht gleich ein eigenes Plugin erstellen. Man kann Funktionalitäten einbauen, ohne dass diese deaktiviert werden oder bei Updates verschwinden.
Eine kleine, saubere und einfache Lösung, um WordPress in der Funktionalität zu erweitern. Super!