WP-CLI – Nutzt du schon die Kommandozeile für WordPress?

WP-CLI – Nutzt du schon die Kommandozeile für WordPress?

Kommandozeilenprogramme sind für viele Anwendungen praktisch und können dir eine Menge Arbeit abnehmen. Heute stelle ich dir ein sehr hilfreiches Kommandozeilenprogramm für WordPress vor: WP-CLI.

WordPress hat sich seit seinen Anfängen im Jahr 2004 weiterentwickelt. Ursprünglich war es eine Blogging Plattform, die für die “Demokratisierung des Publishings” entwickelt wurde und sich schnell großer Beliebtheit erfreute. Die Vision von WordPress Mitgründer Matt Mullenweg war es, das Veröffentlichen von Inhalten im Internet unabhängig von technischem Wissen allen Menschen zugänglich zu machen. 

Die Plattform muss sich heutzutage neuen Herausforderungen stellen. Das liegt zum Teil daran, dass das Web technisch immer ausgefeilter wird, aber auch daran, dass ein Großteil der Websites auf veraltetem Code basiert. Viele (und insbesondere erfahrenere Personen) hätten auch gerne Features wie die ihnen vertraute Kommandozeile. Und das nicht ohne Grund – dieses tolle Hilfsmittel kann auch bei der Verwendung von WordPress genutzt werden und kann auch dir viele Prozesse erleichtern!

Um zu verstehen, was WP-CLI ist, beginnen wir mit dem “CLI”. Ein CLI (Command Line Interface) würden wir im Deutschen als “Kommandozeilenprogramm” übersetzen. Was das ist, kannst du dir schnell klarmachen, indem du bei Windows Win+R drückst, “cmd” eingibst und wartest, was passiert. Bei Mac musst du nur die Anwendung “Terminal” starten. Die Box mit den kryptischen Zeilen, die dort aufgeht, wirkt für unerfahrene Personen normalerweise eher abschreckend – mit steigendem technischen Wissen wird sie aber zunehmend vertrauter.

Ein Kommandozeilenprogramm schafft dann nicht nur eine Art “Wohlfühlatmosphäre”, sondern kann eine Menge Arbeit sparen! Um gut in der Entwicklung und Programmierung von Systemen zu werden, ist die Arbeit mit Command Line Interfaces in jeder Form ein wichtiger Bestandteil.

Seit es Computer gibt, werden CLIs benutzt. Das Prinzip ist ganz einfach: Du gibst einen oder mehrere Befehle an die Schnittstelle und dein Computer führt sie aus. Zum Beispiel gibt dieser Befehl den Username aus, mit dem du gerade an deinem PC eingeloggt bist:

WP-CLI – Nutzt du schon die Kommandozeile für WordPress?

Das ist allerdings wenig intuitiv und setzt voraus, dass du weißt, was du wie von deinem Computer verlangst. Deshalb kamen Graphic User Interfaces (GUI) wie Windows und Mac OS auf, mit denen der Computer auf eine visuell ansprechende Weise gesteuert werden kann. Diese grafischen Benutzeroberflächen wurden schließlich zur Standardmethode für die Interaktion von Menschen mit Computern. 

Doch die Vorteile von CLIs sind beträchtlich: Die beiden wichtigsten sind die Steigerung der Arbeitseffizienz und die Automatisierung von sich wiederholenden Aufgaben. Nachdem du jetzt weißt, was ein CLI ist, schauen wir uns WP-CLI genauer an. 

*“ zeigt erforderliche Felder an

Ich möchte den Newsletter abonnieren, um über neue Blogbeiträge, E-Books, Features und News rund um WordPress informiert zu werden. Meine Einwilligung kann ich jederzeit widerrufen. Bitte beachte unsere Hinweise zum Datenschutz.
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Was ist WP-CLI und wofür dient es?

Was ist WP-CLI und warum solltest du es nutzen? Kurz gesagt, ist WP-CLI eine Datei, mit der du in WordPress spezifische Befehle im Terminal ausführen kannst. Eine vollständige Liste der Befehle findest du in der offiziellen WP-CLI Doku. Außerdem gibt es die Möglichkeit, eigene WP-CLI Befehle zu erstellen. Wie das funktioniert, kannst du im “Commands Cookbook” nachlesen. 

Mit WP-CLI kannst du Prozesse automatisieren, die sonst deine wertvolle Zeit verschlingen würden, angefangen bei der grundlegendsten Aufgabe – der Installation von WordPress. Die Grundinstallation von WordPress ist keine große Herausforderung, aber wenn du eine Seite in lokaler Entwicklung hast und nun die Staging- oder Produktionsseite online hosten willst, musst du WordPress und die erforderlichen Plugins erneut installieren. 

Alternativ zur manuellen Installation könntest du dich per SSH mit deinem Server verbinden, zum richtigen Ordner navigieren und Folgendes in der CLI ausführen:

wp-cli-wp-install

Das geht wesentlich schneller als die herkömmliche Installation und die manuelle Änderung der Datenbank.

WP-CLI bei Raidboxes

Wenn du WP-CLI nur mit Raidboxes nutzen willst, gibt es gute Neuigkeiten! Denn es ist bereits vorinstalliert, wenn du eine neue Box (also eine WordPress Website) über das Raidboxes Dashboard erstellst. Wenn du dich fragst, wie du dich über ein SSH-Terminal mit Raidboxes verbinden und WP-CLI nutzen kannst, empfehle ich dir unseren Artikel „Der perfekte WordPress Development Workflow mit Git & SSH“.

Anforderungen für WP-CLI

Umgebung 

Eine UNIX ähnliche Umgebung (OS X, Linux, FreeBSD, Cygwin), es gibt nur eingeschränkte Unterstützung einer Windows-Umgebung. Wenn du an einem Windows Computer arbeitest, wirst du also wahrscheinlich Linux installieren wollen. Eine Möglichkeit, dies zu tun, ohne dass du deine Festplatte partitionieren und Linux separat starten musst, ist WSL (Windows Subsystem for Linux). Schau dir dazu gerne die offizielle Dokumentation an. 

PHP-Version

Die Mindestanforderung für WP-CLI ist aktuell PHP 5.6 oder höher. Bedenke, dass ältere PHP Versionen aus Sicherheitsgründen nicht mehr von WordPress unterstützt werden und somit gegebenenfalls nicht mehr kompatibel mit neueren WordPress Versionen sind. Du kannst alle aktuell unterstützten PHP Versionen auf der offiziellen PHP Website nachsehen. Bei Raidboxes unterstützen wir aktuell PHP 7.2, 7.3 und 7.4 (PHP 8 werden wir unterstützen, wenn WordPress offiziell damit kompatibel ist).

WordPress Version

Für die Nutzung von WP-CLI ist WordPress 3.7 oder höher notwendig. Versionen, die älter sind als die neueste WordPress Version, haben möglicherweise veraltete Funktionen.

Lokale Installation von WP-CLI

Wenn du bereits mit NPM oder Composer gearbeitet hast, ist die Installation ziemlich einfach: 

Lade die Datei wp-cli.phar herunter (du kannst den Befehl wget oder curl verwenden): 

wp-cli-local-1

Führe die Datei aus, um sicherzustellen, dass sie funktioniert: 

wp-cli-local-2

Das war es schon! Du kannst nun den Befehl php wp-cli.phar ausführen, um WP-CLI zu starten. Um dir beim nächsten Mal dieses Tippen zu ersparen, verschiebe stattdessen diese Datei in deinen lokalen bin/wp Ordner. Somit kannst du WP-CLI starten, indem du einfach wp eingibst.

So verschiebst du die Datei:

wp-cli-local4

Nutzt du Shared Hosting?

Wenn du deine Website auf einem Shared Hosting Account hostest, könntest du hier auf ein Problem stoßen. Die meisten Shared Hosting Dienste haben die Verwendung des Befehls „sudo“ deaktiviert. Denn das wäre aus Sicherheitsgründen sehr bedenklich. Der Befehl sorgt dafür, dass du Befehle als Super Admin (oder meistens auch „root“) ausführen kannst.

In diesem Fall gibt es einen Workaround – du kannst einen Alias für die WP-CLI Datei erstellen. 

1. Erstelle einen Ordner für die WP-CLI Datei.

wp-cli-alias1

2. Verschiebe die Datei in den Ordner.

wp-cli-alias2

3. Vergewissere dich, dass du dich im Stammverzeichnis deines Ordners befindest.

wp-cli-alias3

Im Stammverzeichnis solltest du eine .bashrc-Datei (bei Mac .zshrc) haben. In dieser Datei kannst du deine eigenen benutzerdefinierten Aliase erstellen. Wenn du nicht weißt, was ein Alias ist, dann wirst du nun sehr davon profitieren, es zu lernen. Kurz beschrieben sind es Abkürzungen für Befehle, die du erstellen kannst. Sieh dir die Dokumentation hier an.

Bearbeite deine .bashrc-Datei mit nano.

wp-cli-alias4

Füge diese beiden Zeilen hinzu und speichere die Datei.

wp-cli-alias6

Logge dich anschließend aus deinem Shared Hosting Account aus und wieder ein, damit die Änderungen wirksam werden. 

Test und Grundsyntax

Wie bei fast allen Terminalbefehlen gibt es eine bestimmte Syntax, um zu zeigen, dass du das WordPress CLI verwendest. In diesem Fall ist es wp, gefolgt von einem Befehl. Um zu testen, ob eine Sprache installiert ist, kannst du die Versionsnummer als ersten Befehl aufrufen. 

wp –info sollte dir so etwas wie das hier zeigen: 

wp-cli-test

WP-CLI Anwendungsbeispiele

Wir sehen uns nun gemeinsam ein paar nützliche Dinge an, die du mit WP-CLI machen kannst. Du kannst jederzeit wp help eingeben, um alle verfügbaren Befehle zu sehen.

Ein kurzer Hinweis an dieser Stelle: Raidboxes verfügt aus Sicherheitsgründen nicht über die Funktion zur Installation und Neuinstallation des WordPress Core. Das sollte allerdings kein Problem darstellen, da deine Box bei Raidboxes bereits mit WordPress und WP-CLI eingerichtet ist. Solltest du hierzu noch weitere Fragen haben, wende dich gerne an unseren Support.

WordPress herunterladen, konfigurieren und installieren 

wp core <Befehl> 

„wp core download“ lädt die neueste Version von WordPress in dem Ordner herunter, in dem der Befehl ausgeführt wird.

Das Herunterladen von WordPress ist ziemlich einfach, aber wenn du eine bestimmte Version haben willst, kannst du das sehr einfach hinzufügen: 

wp-cli-version

WordPress konfigurieren 

wp config <Befehl>

Kurzer Hinweis

Der Befehl “wp core config” erstellt die Datei wp-config.php, ist aber veraltet und wurde in “wp config creates” umbenannt. Es ist allerdings nach wie vor möglich, den alten Befehl zu verwenden (Hinweise dazu).

Bevor du deine Konfigurationsdatei (die wp-config.php), erstellst und konfigurierst, solltest du folgende Voraussetzungen erfüllen:

  • eine Datenbank für WordPress erstellt haben
  • einen Benutzer für diese Datenbank erstellen
  • den Benutzer zur Datenbank hinzugefügt und ihm die richtigen Berechtigungen für WordPress gegeben haben.

Um die Konfigurationsdatei zu erstellen, benutze die folgende Zeile und ersetze –dbuser/name/pass durch eigene Angaben. Das Einschalten des Debugging ist hierbei natürlich optional.

WP-CLI – Nutzt du schon die Kommandozeile für WordPress?

WordPress installieren

Ersetze auch hier wieder die Beispieldaten durch deine eigenen Angaben.  

wp-cli-wp-install

Plugins und Themes verwalten

wp plugin <Befehl>

Auch Plugin- und Theme-Installationen können mit WP-CLI leicht verwaltet werden. Die Syntax, sprich: der Aufbau des Befehls, folgt demselben Schema. Sobald du es verinnerlicht hast, ist es sehr einfach, Plugins oder Themes zu installieren, zu aktivieren/deaktivieren, zu aktualisieren oder auch vollständig zu löschen.

wp-cli-plugins

Dummy Daten erstellen

Es ist ziemlich hilfreich zu sehen, wie die Beiträge auf deiner Entwicklungsseite aussehen werden. Mit diesen Befehlen kannst du ganz einfach Dummy Daten erstellen.

wp post generate

wp-cli-dummy-data_1
WP-CLI – Nutzt du schon die Kommandozeile für WordPress?

Und wenn du einen Fehler gemacht und aus Versehen eine zusätzliche 0 hinzugefügt hast, kannst du die  Daten natürlich auch wieder entfernen. 

Sichere deine Datenbank und importiere eine neue Datenbank

Bevor du umfangreiche Änderungen vornimmst, solltest du immer ein Backup erstellen. 

wp-cli-db-backup

Suchen und Ersetzen

Wenn du eine Website in Entwicklung in eine Live-Umgebung überführst oder eine neue Datenbank in eine Live-Seite importierst, kommt es häufig vor, dass du Inhalte oder Konfigurationen ändern musst. Das Ersetzen von http durch https ist hierbei oftmals notwendig, da es sonst zu einem Mixed Content Fehler kommt. Eine perfekte Möglichkeit dafür ist das Suchen und Ersetzen mit WP-CLI.

wp search-replace

wp-cli-search-replace

Fazit zu WP-CLI

Wie bei allen Tools, die die Produktivität steigern, liegt der eigentliche Nutzen in der Unterstützung deines eigenen Arbeitsablaufs. Je mehr du dich mit WP-CLI vertraut machst, desto mehr Möglichkeiten wirst du finden, um die Effizienz deines Workflows zu verbessern. Viel Spaß und frohes Ausprobieren! 

Deine Fragen zum Thema WP-CLI

Welche Fragen zum Thema WP-CLI hast du? Wir freuen uns über deinen Kommentar. Du interessierst dich für aktuelle Themen rund um WordPress, Webentwicklung und Webdesign? Dann folge uns auf TwitterFacebookLinkedIn oder über unseren Newsletter.

Hat dir der Artikel gefallen?

Mit deiner Bewertung hilfst du uns, unsere Inhalte noch weiter zu verbessern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert