Adventskalender Tag 17 – WordPress Must Use Plugins in Unterordnern ermöglichen

WordPress Multisite besitzt die Möglichkeit Plugins über einen speziellen Ordner automatisch zu laden, ohne Klick im Backend. Ebenso können diese Plugins nicht via Admininstrationsoberfläche deaktiviert werden. Nicht selten eine nützliche Funktion in der Entwicklung und beim Kunden.

Aktuell kann WordPress nur Plugins laden, die im Root dieses Verzeichnisses liegen und bewirkt keine Verarbeitung von Plugins in Unterordnern. Das Verzeichnis ist im Standard von WordPress unter /wp-content/mu-plugins/ zu finden. Der Ordner muss dafür angelegt werden denn er ist nicht ad hoc vorhanden. Alternativ kann der Ordner auch via Konstanten in der wp-config.php definiert werden, folgendes Beispiel verdeutlicht es.

[/crayon]

Jedes Plugin in diesem Verzeichnis wird im Single-Modus aktiviert, ist also in jeder Site des Network aktiv.

Ich nutze Plugins in der Regel in Ordnern, schon wegen der Übersicht. Und Git-Projekte lassen sich ebenso besser handhaben. In diesem Zusammenhang ist für die lokale Entwicklungsumgebung ein kleines Plugin entstanden, was genau diese Funktion nachrüstet und es werden alle Plugins in Unterordnern automatisch aktiviert. Das Plugin grenzt die Plugins im Root des Verzeichnises aus, so dass es keinen Konflikt mit der Standardfunktion von WordPress gibt.
Mittlerweile nutze ich es auch bei Kunden- oder eigenen Projekten, was die Handhabung von Plugins, die ich kontrolliere, erleichtert.

Must Use Plugin Liste

Das Plugin ist auf GitHub zu finden und muss, ohne Ordner, direkt als Datei in das Verzeichnis der „Must Use“ Plugins kopiert werden und bedarf keiner Aktivierung. Danach sollten alle Plugins, die in dem Verzeichnis liegen und mit Ordnern strukturiert sind, geladen werden. Das Plugin verfügt über einen einfachen Cache, der geleert wird, wenn man im Network-Admin-Bereich die Plugin-Liste besucht und dort den Reiter der „Must Use“ Plugins aufruft. Ebenso ist der Cache deaktviert, wenn die Konstante WP_DEBUG aktiv, also TRUE gesetzt ist.

Verbesserungen, Veränderungen sind gern gesehen, alternativ steht die Issue Liste auf GitHub für Bugreports oder Erweiterungswünsche zur Verfügung.

Beitrag teilen

Author Avatar

Alpinist, Cyclist, Optimist. Ich schaffe und supporte Lösungen, vorrangig mit SAP Business Software als Software Architekt bei der Carl Zeiss AG und ich helfe Unternehmen bei dem Erstellen von WordPress basierender Software und Lösungen mit dem großartigem Team der Inpsyde GmbH.

Auch interessant:

WooCommerce Plugins angetestet: Advanced Flat Rate Shipping - Versandkosten je Produkt, Kategorie etc.

von Michael Firnkes

Du willst spezielle Versandkosten je Produkt festlegen? Und/oder für einzelne Kategorien, Länder bzw. ab einer bestimmten Bestellsumme? Dann bietet das k ...

Weiterlesen

WooCommerce Plugins angetestet: More Sorting Options - Sortierung nach Kommentaren, Meistverkauft etc.

von Michael Firnkes

Mit Extra Product Sorting Options haben wir bereits ein Plugin vorgestellt, das deinem Shop neue Sortieroptionen hinzufügt. Das ebenfalls kostenfreie More ...

Weiterlesen

German Market 3.5: SEPA-Archive, Double-Opt-in, intelligenter Rechnungskauf und mehr

von Michael Firnkes

Zahlreiche Optimierungen in German Market machen deinen WooCommerce-Shop noch flexibler. Wir fassen für dich die wichtigsten Neuerungen zusammen. Doubl ...

Weiterlesen
varianten vorschau woocommerce

WooCommerce Plugins angetestet: Smart Variations Images - Vorschaubilder bei variablen Produkten wechseln

von Michael Firnkes

Im Standard von WooCommerce bleiben die Produkt-Vorschaubilder gleich, wenn man eine Variante auswählt. Das ist in vielen Fällen wenig praktikabel. Die k ...

Weiterlesen

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Du kannst folgende HTML Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">