Während der Entwicklung einer Seite ständig zwischen Code-Editor, Terminal und WordPress Backend zu wechseln, kann ziemlich nervig und zeitraubend sein.
Gerade für Basic-Setups von Testumgebungen oder Bulk-Aktionen kann per WP-CLI einiges an Zeit gespart werden.
In diesem Artikel erhältst du eine kleine Einführung in das Tool.
Robert Rosanke
Webentwickler
Inhaltsverzeichnis
Diesen Artikel in sozialen Netzwerken teilen:
Was ist WP-CLI?
WP-CLI ist, neben den Standard-WordPress-Oberflächen via Webbroser oder App, eine weitere Möglichkeit, um mit deiner WordPress Website zu arbeiten.
So lassen sich per WP-CLI beispielsweise
- neue Themes und Plugins installieren und aktivieren
- nicht mehr benötigte Erweiterungen deaktivieren und löschen
- Aktualisierungen durchführen
- Übersetzungskataloge für Themes, Plugins und Blöcke erzeugen (besonders spannend für aktive Entwickler)
Vorteil
WP-CLI spart dem Entwickler/User Zeit.
Viele Aufgaben, die WP-CLI erledigt, können auch ohne das Tool erledigt werden.
Nur müsste der Entwickler/User ohne WP-CLI zahlreiche Optionsseiten im Backend durchsuchen, immer mal wieder Plugins für eine einzige Aufgabe installieren, diese erst konfigurieren und anschließend – nach der Erledigung der Aufgabe – wieder deinstallieren.
Das kostet alles Zeit.
Dank dem Tool reicht es aus, einen Befehl im Terminal einzugeben und der Rest wird automatisch im Hintergrund erledigt.
Systemvoraussetzungen
Zur Verwendung von WP-CLI sollte je eine aktuelle PHP- und WordPress-Version auf dem Zielgerät installiert sein.
Die Funktionalität auf den häufig von Entwicklern genutzten Betriebssystemen sollte gewährleistet sein.
- WP-CLI lässt sich meiner Erfahrung nach kinderleicht auf Linux-Systemen installieren.
- Auf Mac sollte es ebenfalls keine Probleme geben.
- Mit ein bisschen Gefrickel läuft das Tool auch auf einem normalen Windows PC.
- Noch ohne Windows-Subsystem für Linux (WSL) und damals auf Windows 7 musste ich die PATH-Variable anpassen (engl) und den PC neustarten, damit die
wp
Befehle erreichbar waren. - Könnte mir vorstellen, dass WP-CLI auf einem Windows 10 System mit aktiviertem WSL auch ohne Gefrickel super entspannt läuft.
- Noch ohne Windows-Subsystem für Linux (WSL) und damals auf Windows 7 musste ich die PATH-Variable anpassen (engl) und den PC neustarten, damit die
WP-CLI installieren
Tipp
Folgende Code-Beispiele habe ich unter Linux Ubuntu verwendet und können sich von Betriebssystem zu Betriebssystem unterscheiden. Eventuell musst du im Netz nach dem passenden Äquivalent für dein System suchen.
Lade die Datei wp-cli.phar
auf das Zielsystem herunter.
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Prüfe, ob alles funktioniert.
php wp-cli.phar --info
Wenn alles funktioniert, dann sollte es auf den Befehl eine ausführliche Antwort geben.
OS: Linux 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php7.4
PHP version: 7.4.3
php.ini used: /etc/php/7.4/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/<user>
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.4.0
Die WP-CLI Commands kannst du ab jetzt mit php wp-cli.phar
aufrufen.
Um die Befehle von jeder Stelle des Systems aus und mit einem kurzen Bezeichner, z.B. wp
, aufzurufen
- machst du die
wp-cli.phar
ausführbar:chmod +x wp-cli.phar
- verschiebst sie in den eigenen PATH und bennenst sie in „wp“ um
sudo mv wp-cli.phar /usr/local/bin/wp
- Was ist die PATH-Umgebungsvariable?
- Beachte, dass die PATH Variable – je nach Betriebssystem – abweichen kann. Meine PATH-Angabe
/user/local/bin/
beispielsweise bezieht sich auf Linux Ubuntu - Wenn du Windows nutzt, dann musst du ggf. ein bisschen Recherche betreiben
Wenn alles geklappt hat, dann sollte dir wp --info
ähnliches ausgeben, wie der Funktionstest nach dem Download der Datei eben ausgegeben hat.
Herzlichen Glückwunsch. Du kannst die WP-CLI Befehle nun systemweit einsetzen.
Nützliche Commands
Navigiere zum ausführen der Commands am besten einfach in das Root-Verzeichnis deiner WordPress-Installation.
Also dahin, wo sich die Ordner wp-content
, wp-admin
und wp-includes
und die wp-config.php
befinden.
Theme installieren und aktivieren
wp theme install twentytwenty --activate
Das Snippet installiert und aktiviert das Twenty Twenty Theme.
twentytwenty
ist dabei der Slug des Themes und kann aus der URL im offiziellen Verzeichnis abgelesen werden.
Alternativ – also für Themes außerhalb des offiziellen Verzeichnisses – kannst du den Pfad oder die URL eines ZIP-Ordners angeben.
Übersetzungskatalog erstellen
POT-Dateien sind die Basis für Übersetzungen in WordPress.
Um meine eigenen Entwicklungen übersetzungsfähig zu machen, bewege ich mich im Terminal zum Plugin-Ordner und führe folgenden Befehl aus.
wp i18n make-pot . languages/<textdomain>.pot
(Bitte tausche <textdomain>
gegen die Textdomain deines Plugins oder Themes aus.)
Das Ergebnis ist eine POT-Datei innerhalb des Ordners /languages
mit allen übersetzbaren strings
. Mit Poedit werden die Inhalte anschließend Stück für Stück übersetzt.
Mehr dazu im ausführlichen Ratgeber: WordPress übersetzen
Thumbnails regenerieren
Häufig haben Websites von Kunden, die neu zu mir kommen, Performance-Probleme.
Ein Defizit kann zum Beispiel sein, dass die Bildgrößen so konfiguriert sind, dass auf hochkant gehaltenen Smartphones schon die Bildgrößen großer Tablets geladen werden.
Gerade wenn Kunden ihre ach so geliebten Slider mit 5 und mehr Fotos verwenden, dann macht das schon einiges aus.
Deshalb checke via Browser-DevTools, welche Bildgrößen im Frontend ausgespielt werden, und füge in der Regel eine Zwischengröße via functions.php
oder in einem kleinen Funktionalitätsplugin ein.
Um die neuen Bildgrößen nun Seitenweit zu aktualisieren und auszuspielen, nutze ich einen einfachen Befehl.
wp media regenerate --image_size=<name der neuen bildgröße>
Bei Bedarf können auch einfach alle Bildgrößen auf einen Schlag neu erstellt werden.
wp media regenerate --yes
Weiterführende Informationen
Diesen Artikel in sozialen Netzwerken teilen: