WP-CLI – Das Power-Tool, nicht nur für Nerds

|

Ich verliebe mich immer wieder neu in das WordPress Command Line Interface (kurz WP-CLI). Gerade jetzt am Wochenende hat es mir wieder einiges an Arbeit erspart. Aber was macht dieses Tool eigentlich so hilfreich? Das möchte ich euch in diesem Beitrag zeigen.

CLI? Was ist das?

Ein Command Line Interface (deutsch: Kommandozeile) erinnert viele vielleicht an die Zeiten von DOS und Co., als es noch keine grafischen Benutzeroberflächen gab. Damals wurde alles über Befehle gesteuert, die über die Tastatur eingegeben werden mussten. Das war aber, zugegeben, vor meiner Zeit. Doch ein CLI ist auch heute noch genau das: ein textbasiertes Programm, mit dem man durch die Eingabe von Textbefehlen ein System steuern kann – gerade für Power-User echt hilfreich.

 

Server werden meistens nur über ein CLI verwaltet. Der Administrator meldet sich am Server an und kann dann über die Kommandozeile Verzeichnisse und Dateien bearbeiten, Dienste starten und alles Mögliche verwalten. Kein Wunder, dass das erstmal abschreckend ist. Als User muss ich die Befehle genau kennen und mich auch noch direkt auf dem Server anmelden. Aber wer sich einmal damit beschäftigt hat, weiß, wie schnell man nach kurzer Zeit mit dem CLI arbeiten kann und wie effizient Aufgaben so erledigt werden können. Und wer sich per SSH-Key am Server authentifiziert, muss für den Login nicht mal ein Passwort angeben.

Ausschnitt des Codes einer WP-CLI

Warum sollte ich das WP-CLI verwenden?

Das WP-CLI wurde 2011 gestartet und bietet einige Vorteile für erfahrene WordPress Nutzer und solche, die es werden wollen. Vieles was sich sonst nur mithilfe von Plugins oder viel Fleißarbeit umsetzen lässt, ist mit dem WP-CLI sehr einfach. Hier mal ein paar Beispiele, bei denen ich die Kommandozeile in meinem Alltag einsetze.

Plugin installieren und einrichten

Jeder hat bestimmt ein paar Standard-Plugins, die er in fast allen Installationen nutzt. Bei mir ist das zum Beispiel Imsanity, ein Plugin, das Bilder beim Hochladen automatisch kleiner skaliert. Will ich Imsanity über das WordPress Dashboard installieren, muss ich erst auf die Plugin-Seite navigieren, danach Hinzufügen klicken und suchen. Es folgt Installieren und aktivieren. Nun gehe ich auf die Einstellungsseite, passe alle Werte an und speichere. Mit der WP-CLI sieht das so aus: Per SSH anmelden, ins Verzeichnis wechseln, mein fertiges Befehlsset ausführen – fertig! Keine 20 Sekunden Arbeit und erst recht keine nervigen Seiten-Ladezeiten zwischendrin.

# Plugin installieren und direkt aktivieren

wp plugin install imsanity --activate

 

# Optionen setzen 
wp option update imsanity_max_height 1920

wp option update imsanity_max_width 2560

wp option update imsanity_max_height_library 1920

wp option update imsanity_max_width_library 2560

wp option update imsanity_max_height_other 1920

wp option update imsanity_max_width_other 2560

Genauso schnell – oder sogar schneller – geht es, wenn ich mehrere Plugins gleichzeitig installieren möchte: Beispiel Contact Form 7 mit ein paar Add-Ons:

# 3 Plugins auf einmal installieren und aktivieren

wp plugin install contact-form-7 bootstrap-for-contact-form-7 contact-form-7-honeypot --activate

Funktionen ohne Plugins nutzen

Im WP-CLI sind einige Funktionen implementiert, für die ihr ohne das CLI Plugins installieren müsste. Gerade wenn ihr diese Funktionen nur selten nutzt, lohnt es sich aus meiner Sicht nicht, ein Plugin im System zu haben, das regelmäßig aktualisiert werden muss, potenziell alles verlangsamt und Sicherheitslücken einführen kann. Und wenn es mit der CLI genauso geht, warum nicht?

 

Soll ein Nutzer eine zusätzliche Berechtigung bekommen, die seine Rolle eigentlich nicht hat (z. B. soll ein Redakteur auch Menüs und Widgets bearbeiten), habe ich euch schon im Beitrag zu den Nutzerrollen gezeigt, wie einfach das geht:

# Dem Nutzer mit der ID 2 die Fähigkeit edit_theme_options zuteilen

wp user add-cap 2 edit_theme_options

Ohne Plugin, ohne viel Aufwand. 
Hier noch ein paar weitere Beispiele, für Aufgaben, wegen denen ich früher immer ein Plugin installiert habe:

# Nach Änderung der Medien-Größen die Vorschaubilder neu generieren:

wp media regenerate --yes

 

# Ein zu großes Video vom Dateisystem in die Mediathek importieren:

wp media import ~/html/wordpress/wp-content/large-video.mp4

 

# Suchen und Ersetzen in allen Datenbanktabellen:

wp search-replace 'http://example.test' 'https://example.com'

 

# Beliebige Anzahl Nutzer aus einer Tabelle importieren

wp user import-csv ~/files/users.csv

 

# Viele Beiträge generieren um meine Archiv-Seiten zu testen:

wp post generate --count=42 --post_type=post

Person nutzt WP-CLI

Automatisierungen

CLI-Befehle lassen sich einfach in ein .sh-Skript ablegen und dann ausführen. So lässt sich zum Beispiel nur mit CLI-Befehlen ein kleines Backup- und Update-Skript schreiben. Das ist praktisch für alle, die die seit WP 5.5 verfügbaren Auto-Updates nicht nutzen möchten und vor jedem Update gerne ein frisches Datenbank-Backup hätten.

wp db export

wp core update

wp core update-db

wp language core update

wp plugin update --all

wp language plugin update --all

wp theme update --all

wp language theme update --all

Wenn ich mir diese Befehle jetzt in eine Datei wp-update.sh speichere, kann ich sie einfach mit ./wp-update.sh jederzeit ausführen.

WP-CLI Verwendung in der Praxis

Für den schnellen Einstieg solltet ihr euch natürlich mit den Grundzügen einer CLI auskennen. Wie ihr euch einen SSH-Key erstellt und euch mit diesem am Server authentifiziert habe ich euch an anderer Stelle schon erklärt. Seid ihr dann auf dem Server, braucht es, wie oben gesagt, nur noch einen Schritt und es kann losgehen.

 

Bei mir sieht das im Alltag dann so aus:

# mit SSH am Server für meine Dev-Umgebung anmelden:

ssh wp-dev

 

# ab jetzt bin ich auf dem Server

 

# in das Verzeichnis meiner WP-Installation wechseln (change directory)

cd html/wordpress

 

# und schon kann’s losgehen

wp core check-update

Installiert ihr WordPress über den Softwaremanager von Mittwald wird das WP-CLI übrigens automatisch mit installiert. Aber auch, wenn ihr WordPress manuell installiert habt, könnt ihr über den Softwaremanager das WP-CLI jederzeit nachinstallieren.

 

Die Dokumentation zur Installation in eurer lokalen Umgebung findet ihr unter wp-cli.org. Die Dokumentation für alle Befehle gibt es im WordPress Developer-Bereich.

Fazit

Für mich ist das WP-CLI ein super Tool, mit dem ich viele Aufgaben in meinem Alltag schneller und besser erledigen kann. Nach einer kurzen Eingewöhnung in das Arbeiten mit der Kommandozeile macht es richtig Spaß und man lernt es zu schätzen. Nutzt ihr das WP-CLI schon? Für welche Aufgaben? Wenn nicht, was hält euch davon ab?

Ähnliche Artikel:

Webentwicklung

WordPress Login absichern

WordPress ist das meistgenutzte CM-System – und deshalb ein beliebtes Angriffsziel. Wir zeigen euch Methoden, um das Login-Formular zu schützen.

Webentwicklung

Komfortabler Server-Login: So erstellst du einen ssh key

Kommandozeilen-Freunde aufgepasst: Lukas erklärt im Blog, wie ihr einen SSH Key erstellt, mit dem ihr euch noch einfacher auf dem Server anmelden könnt.

Webentwicklung

WordPress 5.7 – auf dem Weg zum Full Site Editing

WordPress veröffentlicht kurz vorm großen Wurf mit dem Full Site Editing noch eine Version, die schon einige Vorzüge mitbringt. Ein schneller Überblick!

Webentwicklung

WordPress Benutzerrollen: Berechtigungen einfach verwalten

Was darf wer in WordPress? Wir verraten euch, was die einzelnen Benutzerrollen können und zeigen euch, wie ihr sie anpassen könnt.

Kommentar hinzufügen