Verwenden von wp-cli für Spaß und Gewinn

Erfahren Sie, wie Sie gängige WordPress-Aufgaben schneller ausführen oder sogar automatisieren können, indem Sie die Leistung von bash nutzen.


Was ist wp-cli??

wp-cli ist ein Tool zur Steuerung von WordPress über ein Konsolenfenster.

Wenn die Admin-Benutzeroberfläche von WordPress so schön und einfach zu bedienen ist, lautet die natürliche Frage: Warum sollten Sie jemals eine Befehlszeilenschnittstelle verwenden??

Es gibt zwei Hauptgründe:

  • Die Tastatur ist schneller als die Maus - Für Power-User kann das Eingeben eines Befehls um Größenordnungen schneller sein als das Drücken einer Schaltfläche in einem Webbrowser.
  • Scripting - Sie können mehrere Befehle in eine Textdatei einfügen und automatisch ausführen lassen.

In diesem Tutorial werde ich Ihnen einen Vorgeschmack darauf geben, wozu wp-cli gut ist.


Wp-cli installieren

Bevor Sie es verwenden, benötigen Sie einige Dinge:

  1. UNIX-artige Shell - Wenn Sie einen Mac oder Linux verwenden, können Sie wp-cli auf Ihrem lokalen Computer ausführen. Wenn Sie unter Windows sind, können Sie sich über Putty bei Ihrem Linux-Server anmelden und dort wp-cli installieren.

  2. PHP 5.3+ und das Dienstprogramm php-cli - Sie können sehen, ob Sie diese haben, indem Sie den folgenden Befehl ausführen:

    php -v
  3. Git - Dies ist, was wir zum Installieren und Aktualisieren von wp-cli verwenden werden.

Das wp-cli-Projekt steckt noch in den Kinderschuhen. Daher ist es am besten, wenn Sie es über github klonen:

 git clone --recurse-submodules git: //github.com/andreascreten/wp-cli.git ~ / git / wp-cli cd ~ / git / wp-cli sudo utils / build-dev

~ / git / wp-cli ist das Verzeichnis, in dem wp-cli installiert wird. Fühlen Sie sich frei, es zu ändern, was Sie wollen.

Das ist es. Jetzt die wp Befehl sollte verfügbar sein:

 cd / var / www / public_html / wordpress wp

Auf Multisite

Wenn Sie wp-cli für eine Installation mit mehreren Standorten verwenden möchten, müssen Sie entscheiden, auf welchem ​​Blog Sie arbeiten möchten:

 wp --blog = meinblog.mynetwork.com

Um zu vermeiden, dass Sie die --Blog Parameter für jeden Befehl können Sie es in einer speziell benannten Datei speichern:

 echo 'myblog.mynetwork.com'> wp-cli-blog

wp-cli liest diese Datei, wenn keine vorhanden ist --Blog Parameter.


Umgang mit dem Kern

Zuerst wollen wir sehen, mit welcher Version von WordPress wir es zu tun haben:

 wp Kernversion --extra

Um ein Update durchzuführen, müssen Sie nur Folgendes schreiben:

 wp Kernupdate

Umgang mit Plugins

Mal sehen, welche Plugins wir installiert haben:

 wp plugin status

Es scheint, es gibt ein Update für Akismet. Lass es uns installieren:

 wp plugin update akismet

Nun lass uns ein Plugin von wordpress.org installieren und aktivieren:

 wp plugin installieren google-sitemap-generator --activate

Sie können auch die Entwicklungsversion eines Plugins installieren:

 wp plugin installieren google-sitemap-generator --activate --dev

Oh, und schau, es gibt jetzt einen neuen Befehl:

 wp google-sitemap

Wir können ein Plugin schnell von aktiv auf inaktiv und umgekehrt umschalten:

 wp plugin google-sitemap-generator umschalten

Dies ist ein guter Weg, um Aktivierungs-Hooks zu debuggen.

Ebenso können Sie die Deinstallationsprozedur eines Plugins ausführen, ohne die Plugin-Dateien zu löschen:

 wp plugin deinstalliere den google-sitemap-generator

Und natürlich können Sie auch das Plugin löschen:

 wp plugin google-sitemap-generator löschen

Umgang mit Themen

Wir haben auch einige Befehle, um mit Themen zu arbeiten:

 wp thema status

Im Gegensatz zu Plugins kann immer nur ein einzelnes Design ausgeführt werden. Wenn Sie also ein Design aktivieren, wird das vorherige automatisch deaktiviert:

 wp theme zwanzigstes aktivieren

Und hier ist ein kleiner Trick, um in das Verzeichnis eines bestimmten Themas zu gelangen:

 cd $ (wp theme path elfeleven)

Daten generieren

Wenn Sie ein Thema schreiben und die Paginierung gestalten möchten, benötigen Sie viele Posts. Hier ist der schnellste Weg, um sie zu bekommen:

 wp erzeugt Beiträge - Anzahl = 1000

Wenn Sie eine Liste von Benutzern formatieren möchten, können Sie auch einige davon generieren:

 WP generieren Benutzer --Role = Autor

Sie können auch einzelne Benutzer erstellen:

 WP-Benutzer erstellen stan [email protected]

Exportdateien erstellen

Möglicherweise möchten Sie Ihren Inhalt regelmäßig in eine WXR-Datei exportieren.

 wp export --path =. / --user = admin

Sie können zusätzliche Parameter übergeben, um zu begrenzen, welcher Inhalt exportiert wird, z. B. --Kategorie, --Anfangsdatum usw.


Optionen schnell ändern

Es gibt einfache Befehle für CRUD Operationen mit Optionen:

 wp-Option get permalink_structure wp-Option add foo bar wp-Option delete foo

Sie möchten dies nicht regelmäßig tun, da die meisten Optionen auf bestimmte Werte beschränkt sind. Aber es kann in Skripten nützlich sein.


Datenbankoperationen

Wenn Sie ein Backup der Datenbank erstellen möchten, schreiben Sie einfach:

 wp db dump

Oder Sie müssen vielleicht eine kurze Abfrage durchführen, um herauszufinden, wann der letzte Beitrag veröffentlicht wurde:

 wp db-Abfrage "SELECT MAX (post_date) von wp_posts WO WO post_type = 'post' UND post_status = 'publish'"

Das Öffnen einer interaktiven MySQL-Sitzung für einige Diagnosen ist genauso einfach:

 wp db cli

Ausführen von willkürlichem Code

Die einzige Möglichkeit, wp-cli mitzuteilen, was Sie möchten, ist die Beschreibung in PHP-Code:

 wp eval-datei do-my-laundry.php

Mit dem obigen Befehl lädt wp-cli zuerst WordPress und lädt und führt dann Ihre PHP-Datei aus.

Dies ist nützlich bei der Bereitstellung von Skripts oder bei anderen komplexen Aktionen, die mit integrierten Befehlen nicht ausgeführt werden können.

Sie können PHP-Code auch inline übergeben:

 wp eval 'echo WP_CONTENT_DIR;'

Eigene Befehle erstellen

Ob Sie es glauben oder nicht, wp-cli ist meist in PHP geschrieben. Jeder Befehl ist eine Klasse, wobei jede Methode einen Unterbefehl darstellt.

Das Schöne daran ist, dass Sie Ihre eigene Klasse erstellen und in ein Plugin einfügen können, und wp-cli erkennt sie automatisch als eigene Klasse. Ein ausführliches Tutorial zum Erstellen von Befehlen finden Sie im Projekt-Wiki.


Fazit

Ich hoffe, ich habe dich überzeugt, zumindest wp-cli auszuprobieren. Wenn Sie einen Fehler gefunden haben oder eine Funktionsanforderung haben, sollten Sie ein Problem öffnen.

Haben Sie einen interessanten Anwendungsfall für wp-cli? Bitte teilen Sie es in den Kommentaren unten.