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 3.3

WooCommerce 3.3: Bestellvorschau, Lieferrückstände und Theme-Support

von Michael Firnkes

In der neuen Version von WooCommerce verstecken sich zahlreiche Änderungen, die du gut kennen solltest - als Anwender aber auch als Entwickler von Plugins ...

Weiterlesen
produkt limitiert

WooCommerce Plugins angetestet: Product Dependencies - Zugriff auf Produkte einschränken

von Michael Firnkes

Du willst ein Produkt nur dann verkaufen, wenn ein anderes bereits im Warenkorb liegt? Oder wenn der Käufer zuvor bereits eine bestimmte Ware erworben hat ...

Weiterlesen

WooCommerce Plugins angetestet: Image Flipper - Zweites Produktbild in den Archiven anzeigen

von Michael Firnkes

Man kennt es von großen Onlineshops: Wenn du mit der Maus über das Produktbild eines Kleidungsstücks fährst, wird automatisch die Rückseite angezeigt. ...

Weiterlesen
slider woocommerce

WooCommerce Plugins angetestet: Products Slider - Schicke Produktslider mit zahlreichen Optionen

von Michael Firnkes

Es gibt sehr viele kostenfreie Plugins für WooCommerce, mit denen du einen Produkt-Slider in deine WordPress Beiträge oder Seiten integrieren kannst. Doc ...

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="">