WordPress und Plugins sind hinreichend bekannt und beliebt, bringen sie doch den Inhaber des Blogs in die Lage, das Blog an eigene Bedürfnisse recht einfach zu verändern und an eigenen Anforderungen anzupassen. Weniger bekannt sind Dropins.
WordPress erlaubt das Ersetzen diverse Funktionen unter anderem mit den sogenannten Dropins. Die Liste der Möglichkeiten ist nicht sonderlich groß und doch wenig dokumentiert. Insbesondere auf den Ersatz des Cache um Cache-Möglichkeiten des Servers zu nutzen, greife ich oft zurück. Dabei insbesondere APC und Memcache. Aber auch die Anpassung von Uploads, Permalinks und ähnliches sind ein typisches Scenario von Dropins.
Die Masse der Plugins müssen im WP Content Ordner abgelegt werden. Im Standard ist dies der Ordner wp-content
oder er ist via Constant WP_CONTENT_DIR
bzw. die URL in WP_CONTENT_URL
definiert.
Beispiel:
// Custom content directory
define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . '/wp-content' );
define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wp-content' );
Dieses Vorgehen nutze ich beispielsweise in meiner Entwicklungsumgebung oder auch bei Kunden, da ich so bspw. auf Plugins via FTP getrennt zugreifen kann. Näheres und weitere Lösungen dazu findet man in meinem Starter auf Github.
Einzig Dropins, die mit dem Sprachschlüssel geladen werden, liegen nicht direkt in diesem Ordner, sondern im Standard in /wp-content/languages
. Alternativ kann der Ordner via Konstante WP_LANG_DIR
definiert werden.
Das Dropin für den deutschen Schlüssel folgt diesen Weg, nähres im Repo des Dropins zu finden.
Im Backend werden Dropins seit Version 3.0 von WordPress gelistet, allerdings nur die folgenden in der Tabelle und nicht das Dropin zum Sprachschlüssel. Ebenso kann mann es nicht via backend de-/aktivieren, was in einigen Fällen die Lösung via klassischem Plugin bevorzugt.
Im folgenden daher eine Tabelle alle Dropins, die ich kenne bzw. gefunden habe. Die möglichen Dropins werden über die Funktion _get_dropins()
zurück gegeben.
Datei | Type des Dropin | Aktiv wenn | Context |
---|---|---|---|
advanced-cache.php |
Erweiterter bzw. Alternativer Cache | Konstante WP_CACHE ist TRUE |
Single & Multisite Installation |
db.php |
Eigene Databank Klasse | Immer | Single & Multisite Installation |
db-error.php |
Eigene Datenbank Fehler Meldung | Beim DB Fehler | Single & Multisite Installation |
install.php |
Eigene Installationsroutine | Bei der Installation | Single & Multisite Installation |
maintenance.php |
Eigene Wartungsmeldung | Bei Updates, Wartung | Single & Multisite Installation |
object-cache.php |
Externer Object Cache | Immer | Single & Multisite Installation |
sunrise.php |
Bevor die WP Multisite Installation lädt | Wenn Konstante SUNRISE gesetzt |
Multisite Installation |
blog-deleted.php |
Eigene Meldung, wenn ein Blog gelöscht wird | Wenn ein Blog gelöscht wird | Multisite Installation |
blog-inactive.php |
Eigene Meldung, wenn ein Blog inaktiv gesetzt wird | Wenn ein Blog inaktiv wird | Multisite Installation |
blog-suspended.php |
Eigene Meldung, wenn ein Blog eingestellt wird | Wenn ein Blog als Archiv oder als Spam markiert wird | Multisite Installation |
$locale.php |
Funktionen bei aktivem Sprachschlüssel | Wenn Sprachschlüssel in Konstante WP_LANG gesetzt |
Single & Multisite Installation |