WP-CLI – WordPress vom Linux Terminal aus verwalten

Wenn du ein Systemadministrator bist und für die Verwaltung von hunderten oder tausenden von WordPress-Websites verantwortlich bist, dann ist das ein sehr zeitaufwändiger Prozess. Du musst dich in jedes WordPress Control Panel einloggen, Plugins und Themes installieren oder aktualisieren. Das ist der Ort, an dem die WP-CLI ins Spiel kommt.

WP-CLI ist ein mächtiges Kommandozeilen-Tool, das speziell für die Verwaltung von WordPress über die Kommandozeile entwickelt wurde. Du kannst mehrere WordPress-Seiten verwalten, ohne dich in das WordPress-Adminpanel einloggen zu müssen. Mit WP-CLI kannst du verschiedene Operationen durchführen, wie z.B. Plugins und Themes installieren und aktualisieren, Inhalte erstellen, mit Datenbanken arbeiten und vieles mehr.

In diesem Beitrag zeige ich dir, wie du WP-CLI installierst und verwendest, um WordPress-Seiten zu verwalten.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04, auf dem WordPress installiert ist.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Zuerst musst du den APT-Paketcache auf deinem System aktualisieren. Du kannst ihn mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald dein System aktualisiert ist, kannst du mit dem nächsten Schritt fortfahren.

WP-CLI installieren

Als erstes musst du das WP-CLI Binary mit dem folgenden Befehl herunterladen:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Sobald es heruntergeladen ist, setze die richtigen Berechtigungen für die heruntergeladene Datei:

chmod +x wp-cli.phar

Als nächstes kopierst du das heruntergeladene Binary mit dem folgenden Befehl in den Systempfad:

cp wp-cli.phar /usr/bin/wp

Überprüfe nun die WP-CLI Version mit dem folgenden Befehl:

wp cli version --allow-root

Du solltest die folgende Ausgabe sehen:

WP-CLI 2.5.0

Plugins mit WP-CLI verwalten

In diesem Abschnitt werden wir lernen, wie man Plugins auf einer WordPress Seite über die Kommandozeile sucht, installiert, aktualisiert und löscht.

Wechsle zunächst mit dem folgenden Befehl in das Verzeichnis deiner WordPress-Website:

cd /var/www/html/wordpress

Um alle installierten Plugins auf deiner WordPress Seite aufzulisten, führe den folgenden Befehl aus:

wp plugin list --allow-root

Du solltest die folgende Ausgabe sehen:

+---------+----------+--------+---------+
| name    | status   | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none   | 4.1.9   |
| hello   | inactive | none   | 1.7.2   |
+---------+----------+--------+---------+

Um nach einem bestimmten Plugin zu suchen, führe den folgenden Befehl aus:

wp plugin search cache --allow-root

Du solltest in der folgenden Ausgabe alle Caching-bezogenen Plugins sehen:

Success: Showing 10 of 3688 plugins.
+--------------------------------------------------------------------------------+--------------------------+--------+
| name                                                                           | slug                     | rating |
+--------------------------------------------------------------------------------+--------------------------+--------+
| LiteSpeed Cache                                                                | litespeed-cache          | 98     |
| W3 Total Cache                                                                 | w3-total-cache           | 88     |
| WP-Optimize – Cache, Clean, Compress.                                    | wp-optimize              | 96     |
| WP Fastest Cache                                                               | wp-fastest-cache         | 98     |
| WP Cloudflare Super Page Cache                                                 | wp-cloudflare-page-cache | 98     |
| Redis Object Cache                                                             | redis-cache              | 92     |
| WP Super Cache                                                                 | wp-super-cache           | 86     |
| Autoptimize                                                                    | autoptimize              | 94     |
| Hummingbird – Optimize Speed, Enable Cache, Minify CSS & Defer Critical JS | hummingbird-performance  | 96     |
| Cache Enabler                                                                  | cache-enabler            | 88     |
+--------------------------------------------------------------------------------+--------------------------+--------+

Installiere nun das spezifische Plugin aus der obigen Liste mit dem folgenden Befehl:

wp plugin install wp-super-cache --allow-root

Du solltest die folgende Ausgabe sehen:

Installing WP Super Cache (1.7.3)
Downloading installation package from https://downloads.wordpress.org/plugin/wp-super-cache.1.7.3.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Success: Installed 1 of 1 plugins.

Bestätige nun die Installation des Plugins mit dem folgenden Befehl:

wp plugin list --allow-root

Du solltest die folgende Ausgabe sehen:

+----------------+----------+--------+---------+
| name           | status   | update | version |
+----------------+----------+--------+---------+
| akismet        | inactive | none   | 4.1.9   |
| hello          | inactive | none   | 1.7.2   |
| wp-super-cache | inactive | none   | 1.7.3   |
+----------------+----------+--------+---------+

Installiere das Plugin aus der spezifischen Quelle mit dem folgenden Befehl:

wp plugin install https://downloads.wordpress.org/plugin/caldera-forms.1.9.4.zip --allow-root

Du solltest die folgende Ausgabe sehen:

Downloading installation package from https://downloads.wordpress.org/plugin/caldera-forms.1.9.4.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Success: Installed 1 of 1 plugins.

Um das installierte Plugin zu aktivieren, führe den folgenden Befehl aus:

wp plugin activate wp-super-cache --allow-root

Du solltest die folgende Ausgabe sehen:

Plugin 'wp-super-cache' activated.
Success: Activated 1 of 1 plugins.

Um das installierte Plugin zu deaktivieren, führe den folgenden Befehl aus:

wp plugin deactivate wp-super-cache --allow-root

Du solltest die folgende Ausgabe sehen:

Plugin 'wp-super-cache' deactivated.
Success: Deactivated 1 of 1 plugins.

Um alle Plugins zu aktivieren, führe den folgenden Befehl aus:

wp plugin activate --all --allow-root

Ein bestimmtes Plugin kannst Du wie folgt aktualisieren:

wp plugin update akismet --allow-root

Löschen eines Plugins:

wp plugin delete wp-super-cache --allow-root

Um alle Plugins zu löschen, führe den folgenden Befehl aus:

wp plugin delete --all --allow-root

Themes mit WP-CLI verwalten

In diesem Abschnitt zeigen wir dir, wie du Themes mit WP-CLI installieren, aktualisieren, suchen und verwalten kannst.

Um alle Themes aufzulisten, die auf deiner WordPress Seite installiert sind, führe den folgenden Befehl aus:

wp theme list --allow-root

Du solltest die folgende Ausgabe sehen:

+-----------------+----------+--------+---------+
| name            | status   | update | version |
+-----------------+----------+--------+---------+
| twentynineteen  | inactive | none   | 2.0     |
| twentytwenty    | inactive | none   | 1.7     |
| twentytwentyone | active   | none   | 1.3     |
+-----------------+----------+--------+---------+

Um nach einem bestimmten Theme zu suchen, führe den folgenden Befehl aus:

wp theme search metro --allow-root

Du solltest alle Themes sehen, die mit dem Wort „metro“ übereinstimmen:

Success: Showing 4 of 4 themes.
+----------------+----------------+--------+
| name           | slug           | rating |
+----------------+----------------+--------+
| Metrolo        | metrolo        | 100    |
| MetroStore     | metrostore     | 100    |
| Metro Magazine | metro-magazine | 98     |
| Rara Magazine  | rara-magazine  | 0      |
+----------------+----------------+--------+

Um das metro-Theme zu installieren und zu aktivieren, führe den folgenden Befehl aus:

wp theme install metro-magazine --activate --allow-root

Du solltest die folgende Ausgabe sehen:

Installing Metro Magazine (1.3.5)
Downloading installation package from https://downloads.wordpress.org/theme/metro-magazine.1.3.5.zip...
Unpacking the package...
Installing the theme...
Theme installed successfully.
Activating 'metro-magazine'...
Success: Switched to 'Metro Magazine' theme.
Success: Installed 1 of 1 themes.

Um alle Themen zu aktualisieren, führe den folgenden Befehl aus:

wp theme update --all --allow-root

Um ein bestimmtes Theme zu löschen, führe den folgenden Befehl aus:

wp theme delete metro-magazine --allow-root

Erstellen und Verwalten von Posts und Seiten mit WP-CLI

In diesem Abschnitt werden wir dir zeigen, wie du mit WP-CLI Beiträge und Seiten auflisten, erstellen und verwalten kannst.

Um alle Beiträge deiner WordPress Seite aufzulisten, führe den folgenden Befehl aus:

wp post list --allow-root

Du solltest die folgende Ausgabe erhalten:

+----+--------------+-------------+---------------------+-------------+
| ID | post_title   | post_name   | post_date           | post_status |
+----+--------------+-------------+---------------------+-------------+
| 1  | Hello world! | hello-world | 2021-06-09 14:51:29 | publish     |
+----+--------------+-------------+---------------------+-------------+

Um eine bestimmte Anzahl von Beiträgen zu löschen, führe den folgenden Befehl aus:

wp post delete 1 --allow-root

Oder um einen neuen Beitrag zu erstellen, führe den folgenden Befehl aus:

wp post create --post_status=publish --post_title="How to Manage WordPress with WP-CLI" --edit --allow-root

Zum erstellen einer Seite anstelle eines Beitrags, führe den folgenden Befehl aus:

wp post create --post_title="My new page" --post_status=draft --post_type=page --allow-root

Man kann 30 Beiträge mit Dummy-Daten generieren, dafür führe den folgenden Befehl aus:

wp post generate --count=30 --allow-root

Um alle generierten Beiträge aufzulisten, führe den folgenden Befehl aus:

wp post list --allow-root

Du solltest die folgende Ausgabe sehen:

+----+-------------------------------------+-------------------------------------+---------------------+-------------+
| ID | post_title                          | post_name                           | post_date           | post_status |
+----+-------------------------------------+-------------------------------------+---------------------+-------------+
| 7  | Post 2                              | post-2                              | 2021-06-09 15:00:57 | publish     |
| 8  | Post 3                              | post-3                              | 2021-06-09 15:00:57 | publish     |
| 9  | Post 4                              | post-4                              | 2021-06-09 15:00:57 | publish     |
| 10 | Post 5                              | post-5                              | 2021-06-09 15:00:57 | publish     |
| 11 | Post 6                              | post-6                              | 2021-06-09 15:00:57 | publish     |
| 12 | Post 7                              | post-7                              | 2021-06-09 15:00:57 | publish     |
| 13 | Post 8                              | post-8                              | 2021-06-09 15:00:57 | publish     |
| 14 | Post 9                              | post-9                              | 2021-06-09 15:00:57 | publish     |
| 15 | Post 10                             | post-10                             | 2021-06-09 15:00:57 | publish     |
| 16 | Post 11                             | post-11                             | 2021-06-09 15:00:57 | publish     |
| 17 | Post 12                             | post-12                             | 2021-06-09 15:00:57 | publish     |
| 18 | Post 13                             | post-13                             | 2021-06-09 15:00:57 | publish     |
| 19 | Post 14                             | post-14                             | 2021-06-09 15:00:57 | publish     |
| 20 | Post 15                             | post-15                             | 2021-06-09 15:00:57 | publish     |
| 21 | Post 16                             | post-16                             | 2021-06-09 15:00:57 | publish     |
| 22 | Post 17                             | post-17                             | 2021-06-09 15:00:57 | publish     |
| 23 | Post 18                             | post-18                             | 2021-06-09 15:00:57 | publish     |
| 24 | Post 19                             | post-19                             | 2021-06-09 15:00:57 | publish     |
| 25 | Post 20                             | post-20                             | 2021-06-09 15:00:57 | publish     |
| 26 | Post 21                             | post-21                             | 2021-06-09 15:00:57 | publish     |
| 27 | Post 22                             | post-22                             | 2021-06-09 15:00:57 | publish     |
| 28 | Post 23                             | post-23                             | 2021-06-09 15:00:57 | publish     |
| 29 | Post 24                             | post-24                             | 2021-06-09 15:00:57 | publish     |
| 30 | Post 25                             | post-25                             | 2021-06-09 15:00:57 | publish     |
| 31 | Post 26                             | post-26                             | 2021-06-09 15:00:57 | publish     |
| 32 | Post 27                             | post-27                             | 2021-06-09 15:00:57 | publish     |
| 33 | Post 28                             | post-28                             | 2021-06-09 15:00:57 | publish     |
| 34 | Post 29                             | post-29                             | 2021-06-09 15:00:57 | publish     |
| 35 | Post 30                             | post-30                             | 2021-06-09 15:00:57 | publish     |
| 36 | Post 31                             | post-31                             | 2021-06-09 15:00:57 | publish     |
| 5  | How to Manage WordPress with WP-CLI | how-to-manage-wordpress-with-wp-cli | 2021-06-09 15:00:39 | publish     |
+----+-------------------------------------+-------------------------------------+---------------------+-------------+

Um eine Seite mit Dummy-Daten zu generieren, führe den folgenden Befehl aus:

wp post generate --count=30 --post_type=page --allow-root

Verwalten der Datenbank mit WP-CLI

Du kannst die Datenbank auch mit WP-CLI verwalten.

Um ein Backup deiner gesamten WordPress-Datenbank zu erstellen, führe den folgenden Befehl aus:

wp db export --allow-root

Du solltest die folgende Ausgabe sehen:

Success: Exported to 'mysite-2021-06-09-14d4641.sql'.

Du kannst die WordPress-Datenbank auch mit dem folgenden Befehl importieren:

wp db import backup.sql --allow-root

WordPress aktualisieren mit WP-CLI

Um die aktuelle Version deines WordPress auszudrucken, führe den folgenden Befehl aus:

wp core version --allow-root

Du solltest die folgende Ausgabe sehen:

5.7.2

Um zu prüfen, ob WordPress aktualisiert wurde, führe den folgenden Befehl aus:

wp core check-update --allow-root

Du solltest die folgende Ausgabe sehen:

Success: WordPress is at the latest version.

Du kannst nun mit folgendem Befehl das WordPress auf die neueste verfügbare Version aktualisieren:

wp core update --allow-root

Fazit

In der obigen Anleitung hast du gelernt, wie du WP-CLI installierst und verwendest, um die WordPress Seite zu verwalten. Ich hoffe, dass dies deine Arbeit sehr erleichtert.

Das könnte dich auch interessieren …