WordPress mit Composer aufsetzen – Oder: Einem Wellensittich das Sprechen beibringen
Wer kennt die Situation nicht: Es steht mal wieder ein WordPress (Security-)Update an und auf magische Art und Weise sind nach dem Update das Akismet Plugin, sowie zwei gar nicht benötigte bzw. verwendete Themes installiert.
Da WordPress standardmäßig nur als Gesamtpaket mit eben diesem Plugin sowie mindestens dem aktuellen Theme daherkommt, war die anschließende Deaktivierung / Deinstallation der nicht benötigten Aspekte halt einfach der saure Apfel, in den wir zwangsweise eben gebissen haben. Des Weiteren waren für unsere WordPress-Updates leider noch viele händische Schritte nötig, die wir jedoch schrittweise immer mehr automatisiert haben, um damit die Komplexität aus der vermeintlich kleinen Aufgabe „WordPress-Update durchführen“ zu nehmen.
Nun setzen wir als etablierte TYPO3-Agentur spätestens seit der Einführung der TYPO3 Version 8.7 LTS konsequent auf Composer und genießen die Vorteile seit jeher. Warum also nicht auch einmal versuchen, WordPress mit Composer aufsetzen? Dachten wir uns auch. Gesagt getan.
Vorweg: Ja es klappt und das sogar mehr als zufriedenstellend.
Wie genau wir hier vorgegangen sind, erfahrt Ihr nun im Folgenden. Wer lieber mit einer "Basis"-Konfiguration beginnen will, der kann sich gerne mal das Repository hier anschauen. Dort habe ich ein Beispiel-Repository aufgesetzt mit dem man direkt anfangen kann.
Schritt 1: composer.json inital aufsetzen
Los geht's – Schritt 1: Alles auf Anfang und wir bauen unseren Blog noch mal technisch gesehen von Grund auf neu mit Composer nach. Dabei war die größte Hürde den WordPress-Core nur selektiv mit bestimmen Bestandteilen zu ziehen. Wir haben uns von dieser Seite hier inspirieren lassen (https://roots.io/bedrock/) und schnell herausgefunden, dass das genau das ist, was wir suchen. In der composer.json müsst ihr dann auf folgende Angaben bzgl. der Ablage-Orte achten:
- Cores (wordpress-install-dir)
- Plugins (type:wordpress-plugin)
- eigene Themes (type:wordpress-theme)
- Sprachen (vendor:koodimonni-language)
Da wir die Konfiguration unseres Blogs zusätzlich über das Environment abhängig steuern wollten, haben wir diese über die Datei application.php gesteuert. Dadurch haben wir die Möglichkeit, pro Umgebung die Zugangsdaten für die Datenbank und den Rootpfad der WordPress-Instanz zu ziehen. Bitte beachten, dass ihr hier entsprechend den Rootpfad anpassen müsst, je nachdem für welchen Pfad ihr Euch in der composer.json entscheidet (wordpress-install-dir). Jetzt noch eine angepasste wp-config.php anlegen und schon kann es weitergehen. (Eine .htaccess Datei sollte übrigens nicht vergessen werden 😉)
Schritt 2: wpcli für Plugins nutzen
Die Übersetzungen des Cores können dann ebenfalls mit dem Repository von koodimonni-language mit Composer eingebunden werden. Somit haben wir nun den Core komplett – und zwar direkt in unserer gewünschten Zielsprache. Was nun noch fehlt, ist ein Sprachupdate der Plugins. Hier kommt nun wpcli ins Spiel. Mit Hilfe von "wpcli/language-command" und "wpcli/extension-command" können wir nun folgende Befehle ausführen (_WPCLI_ ist durch Euren Pfad zu wpcli zu ersetzen):
Dieser Befehl aktiviert alle installierten Plugins :
_WPCLI_ plugin activate --all --path=_YOUR_WEB_PATH_ --debug=boostrap
Installiert alle Sprachdateien für alle aktiven Plugins für die Sprache de_DE ("_YOUR_WEB_PATH_" sollte durch den Pfad zur Installation ersetzt werden):
_WPCLI_ language plugin install de_DE --all --path=_YOUR_WEB_PATH_
Updates aller Sprachdateien für die einzelnen Plugins:
_WPCLI_ language plugin update —all --path=_YOUR_WEB_PATH_
Schritt 3: Eigenes (Child-)Theme einbinden
Ein eigenes (Child-)Theme kann nun in Schritt 3 über die composer.json hinzugefügt werden. Wer nur eine Anpassung eines Standard-Themes macht, der sollte in seinem Child-Theme in der composer.json ein Requirement auf das Standard-Theme setzen. Auch hier gilt: Nicht das Package für die Übersetzung des Themes als Abhängigkeit vergessen 😉. Nun könnt ihr loslegen!
Et voilá: Schon habt ihr euer WordPress mit composer aufgesetzt!
Ich hoffe, dass soweit alles verständlich war. Über Lob, Kritik oder Anregungen sowie Erfahrungen/Berichte wie Ihr mit unserer Anleitung zurecht gekommen seid, freuen wir uns wie immer.
Zu diesem Thema hatte ich übrigens beim WordCamp Köln 2018 schon einen Vortrag gehalten, den ihr Euch hier anschauen könnt. Updates habe ich hier in den Artikel einfließen lassen. Das Beispiel-Repository findet ihr unter: https://github.com/sfsmfc/wp_composer_starter. Und nun heißt es ran an die Tasten und viel Erfolg beim eigenen WordPress-Projekt.
Wir freuen uns, wenn Ihr diesen Beitrag teilt.
Kommentare
Keine Kommentare gefunden.