Erfahren Sie, wie Sie gängige WordPress-Aufgaben schneller ausführen oder sogar automatisieren können, indem Sie die Leistung von bash nutzen.
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:
In diesem Tutorial werde ich Ihnen einen Vorgeschmack darauf geben, wozu wp-cli gut ist.
Bevor Sie es verwenden, benötigen Sie einige Dinge:
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.
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
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
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.
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
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
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)
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]
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.
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.
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
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;'
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.
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.