Lokale WordPress-Entwicklung mit wp-env einheitlich aufsetzen

Eine lokale Entwicklungsumgebung verbindet ein WordPress-Plugin oder -Theme mit einer einheitlichen Installation. wp-env startet diese Umgebung mit wenigen Befehlen und stellt Werkzeuge für die tägliche Entwicklung bereit.

3 Min. von Erhard Sigrist

Für die Entwicklung von WordPress-Plugins und Themes ist eine reproduzierbare lokale Umgebung wertvoll. WordPress-Version, PHP-Konfiguration und eingebundene Projektdateien stehen damit für das gesamte Entwicklungsteam in derselben Struktur bereit.

Das Befehlszeilenwerkzeug wp-env startet eine lokale WordPress-Installation, bindet das aktuelle Plugin oder Theme ein und stellt ergänzende Werkzeuge wie WP-CLI bereit.

wp-env verbindet das Projekt mit einer lokalen WordPress-Installation und nutzt dafür Docker oder WordPress Playground.

Voraussetzungen für die lokale Umgebung

Für den regulären Betrieb mit Docker werden drei Werkzeuge benötigt:

  • Node.js führt wp-env und die zugehörigen npm-Befehle aus.
  • Docker stellt WordPress, PHP und die Datenbank in Containern bereit.
  • Git ermöglicht das Einbinden von WordPress, Plugins oder Themes aus Repositorys.

Für Node.js empfiehlt sich eine aktuelle LTS-Version, die über einen Versionsmanager verwaltet wird. Docker läuft, bevor die Umgebung mit der Standard-Runtime aufgebaut wird.

wp-env im Projekt installieren

Eine lokale Installation hält die verwendete Version gemeinsam mit dem Projekt fest. Der folgende Befehl wird im Verzeichnis des Plugins oder Themes ausgeführt:

npm install --save-dev @wordpress/env

Anschliessend startet die Umgebung aus demselben Verzeichnis:

npx wp-env start

Liegt der Befehl im Stammverzeichnis eines einzelnen Plugins oder Themes, erkennt wp-env das Projekt und bindet es in die lokale WordPress-Installation ein.

Projektumgebung in einer Datei festlegen

Die Datei .wp-env.json dokumentiert die gewünschte Umgebung. Für ein Plugin genügt bereits diese Konfiguration:

{
  "$schema": "https://schemas.wp.org/trunk/wp-env.json",
  "plugins": ["."]
}

Bei einem Theme wird stattdessen "themes": ["."] verwendet. Weitere Eigenschaften legen unter anderem WordPress-Version, PHP-Version, Ports, zusätzliche Plugins und Themes oder eine Multisite-Installation fest.

Die Konfigurationsdatei wird gemeinsam mit dem Projekt versioniert. So startet jedes Teammitglied dieselbe definierte Entwicklungsumgebung.

Lokales WordPress aufrufen

Die Entwicklungswebsite ist standardmässig unter http://localhost:8888 erreichbar. Die WordPress-Administration befindet sich unter http://localhost:8888/wp-admin/.

BenutzernamePasswort
adminpassword

Diese Zugangsdaten gelten für die lokale Entwicklungsumgebung. Ist der Standardport bereits belegt, kann der folgende Befehl automatisch einen verfügbaren Port auswählen:

npx wp-env start --auto-port

Umgebung im Entwicklungsalltag steuern

Die wichtigsten Befehle decken den täglichen Betrieb ab:

BefehlAufgabe
npx wp-env startUmgebung starten
npx wp-env stopContainer anhalten
npx wp-env statusStatus und Adressen anzeigen
npx wp-env logsProtokolle der Umgebung ausgeben

WP-CLI steht ebenfalls innerhalb der Umgebung zur Verfügung. Die Liste der aktivierten Plugins lässt sich beispielsweise so ausgeben:

npx wp-env run cli wp plugin list

Docker und Playground verwenden

Neben Docker unterstützt wp-env experimentell WordPress Playground. WordPress läuft dabei über WebAssembly und SQLite. Für einen kompakten Test startet die Umgebung mit diesem Befehl:

npx wp-env start --runtime=playground

Docker bietet eine umfassende Runtime für MySQL, frei ausführbare Containerbefehle und bestimmte Analysewerkzeuge. Playground eignet sich für kompakte Tests und Umgebungen, in denen Docker nicht bereitsteht.

Ergebnis

WordPress-Projekte lokal und einheitlich entwickeln

wp-env verbindet Plugin oder Theme mit einer definierten WordPress-Umgebung. Konfiguration, lokale Installation und Entwicklungswerkzeuge stehen dadurch für das gesamte Projektteam in derselben Form bereit.

Projekt lokal starten

Plugin oder Theme wird mit einer lokalen WordPress-Installation verbunden und direkt aufgerufen.

Umgebung gemeinsam festlegen

Die Datei .wp-env.json hält Versionen und Komponenten für das Team nachvollziehbar fest.

Werkzeuge einheitlich nutzen

WP-CLI, Logs und die üblichen Befehle stehen über dieselbe Projektumgebung bereit.