Im Laufe der Jahre haben die WordPress-Entwickler WP-CLI entwickelt und gepflegt, eine robuste Befehlszeilenschnittstelle, die speziell für den Betrieb von WordPress entwickelt wurde. WP-CLI ist ein zeitsparendes Tool, das sich besonders gut für die Verwaltung von WordPress-Multisite-Netzwerken eignet, bei denen mehrere Websites auf einer einzigen WordPress-Installation laufen.

Um WP-CLI effektiv zu nutzen, ist es wichtig, die wichtigsten Komponenten von WordPress zu verstehen: die Admin-Oberfläche, die Dateistruktur und die Datenbank. Ohne dieses Grundwissen ist WP-CLI möglicherweise nicht so effizient und nützlich.

WP-CLI unterstützt zwar Standardbefehle wie das Installieren, Aktualisieren, Aktivieren, Deaktivieren und Löschen von Plugins oder Themes, aber seine Möglichkeiten gehen weit über das hinaus, was einem im WordPress-Admin-Dashboard zur Verfügung steht, und sie machen es zu einem äußerst vielseitigen Tool für die fortgeschrittene Website-Verwaltung.

Dieser Artikel erklärt, wie du mit WP-CLI WordPress-Multisite-Netzwerke effizient verwalten kannst, und liefert praktische Beispiele, die dir den Einstieg erleichtern.

Was ist WP-CLI und warum sollte man es benutzen?

WP-CLI ist ein leistungsstarkes Tool zur Verwaltung von WordPress-Websites über die Kommandozeile. In einer Multisite-Umgebung kann es die Verwaltung eines Netzwerks erheblich vereinfachen, indem es dir ermöglicht, Massenaktionen durchzuführen und deinen Arbeitsablauf zu optimieren.

Die wahre Stärke von WP-CLI liegt in seiner Flexibilität und Erweiterbarkeit – du kannst mühelos Befehle im gesamten Netzwerk ausführen oder bestimmte Websites ansteuern und die Funktionalität mit einer Vielzahl von WP-CLI-Paketen erweitern, die auf GitHub und anderen Repositories verfügbar sind.

Entwickler erstellen oft eigene WP-CLI-Befehle, um sich wiederholende Aufgaben zu vereinfachen. So kannst du WP-CLI zum Beispiel nutzen, um Boilerplate-Code für Themes und Plugins zu erstellen und so Zeit und Mühe bei der Entwicklung zu sparen.

Wenn du bei Kinsta hostest, ist WP-CLI integriert und über SSH zugänglich, so dass du WordPress-Websites mühelos verwalten kannst. Für die lokale Entwicklung ist WP-CLI in DevKinsta über den Container devkinsta_fpm verfügbar. Sobald du dich im Container befindest, kannst du zu deinem Website-Ordner navigieren und Befehle ausführen. Das erfordert zwar ein wenig Einarbeitung, bietet aber eine leistungsstarke Möglichkeit, deine lokalen WordPress-Websites effizient zu verwalten, um sie zu debuggen, zu testen oder bereitzustellen.

Bevor du beginnst

Die in diesem Artikel vorgestellten Befehle wurden sorgfältig ausgewählt, da sie von WordPress Multisite-Entwicklern und -Administratoren häufig verwendet werden.

WP-CLI ist ein umfangreiches und flexibles Tool, so dass es unmöglich ist, alle verfügbaren Befehle zu behandeln. Um die Dinge klar und praktisch zu halten, haben wir uns auf einfache, umsetzbare Beispiele konzentriert, um dir den Einstieg zu erleichtern.

Da WP-CLI auf Unix-Befehlen basiert, kann es sein, dass du für Befehle, die es unter Unix bereits gibt, keine WP-CLI-Entsprechung findest.

Wichtige Hinweise zu WP-CLI

Die Befehlsstruktur von WP-CLI ist flexibel und erlaubt mehrere Wege, um das gleiche Ergebnis zu erreichen. Zum Beispiel sind beide der folgenden Beispiele gültig:

wp user create johndoe [email protected] --display_name="John Doe" --nickname="Johnny"

Oder:

wp user create johndoe --display_name="John Doe" [email protected] --nickname="Johnny"

Die Reihenfolge der Flags, Parameter und Werte spielt keine Rolle, sobald der Befehl und der Unterbefehl angegeben sind.

Best Practices für die Ausführung von WP-CLI-Befehlen

Befolge diese Best Practices, um mögliche Probleme zu vermeiden:

  • Halte immer ein aktuelles Backup bereit, vor allem weil einige dieser Befehle deine Website(s) dauerhaft verändern.
  • Verwende, wo immer möglich, eine Staging-Site. Wenn du Kinsta nutzt, enthält jede WordPress-Installation eine kostenlose Staging-Umgebung für sichere Tests. Du kannst Änderungen ganz einfach zwischen Staging- und Live-Umgebung austauschen.
  • Verwende das --dry-run Flag, um Datenbankänderungen zu testen, bevor du sie anwendest.

Wichtige WP-CLI-Befehle für die Verwaltung von WordPress-Multisites

WP-CLI-Befehle in einem Multisite-Netzwerk können auf verschiedene Handlungsebenen abzielen:

  • Netzwerkweit: Befehle, die auf alle Websites im Netzwerk angewendet werden. Zum Beispiel:
    wp plugin deactivate --network --all

    Mit diesem Befehl werden alle Plugins für alle Websites im Netzwerk deaktiviert.

  • Hauptsite: Befehle, die auf die Hauptseite angewendet werden, die bei der Multisite-Einrichtung erstellt wurde. Zum Beispiel:
    wp plugin list

    Der obige Befehl listet alle Plugins auf, die nur auf der Hauptsite installiert sind.

  • Sekundäre Websites: Befehle, die auf einzelne Websites innerhalb des Netzwerks abzielen, angegeben durch ihre URLs. Zum Beispiel:
    wp plugin update --url=mysite.example.com akismet

    Dieser Befehl aktualisiert das Plugin akismet auf der Website mysite.example.com.

Um die Verwaltung deines Multisite-Netzwerks zu erleichtern, haben wir die WP-CLI-Befehle in diese Abschnitte unterteilt:

Grundlegende Befehle

Diese grundlegenden Befehle helfen bei der Fehlersuche und der Verwaltung von Plugins und Themes in deinem Netzwerk.

Mit Listen arbeiten

WP-CLI macht es einfach, Listen von Plugins und anderen Komponenten in deiner Multisite-Umgebung abzurufen.

    1. Erhalte eine Liste aller Plugins im Netzwerk:
      wp plugin list --network

      Ausgabe: Zeigt alle im Netzwerk installierten Plugins mit Details wie Name, Status, verfügbare Updates und Version an.

    2. Filtere die Plugins nach Status (z. B. aktiv):
      wp plugin list --network --status=active

      Ausgabe: Eine Tabelle mit den aktiven Plugins im Netzwerk.

    3. Holt eine Liste der Plugins von der primären Website:
      wp plugin list

      Ausgabe: Eine Liste der Plugins für die primäre Website.

    4. Liefert eine Liste der aktiven Plugins für eine einzelne Website:
      wp plugin list --url=<site-url> --status=active

      Eingabebeispiel:

      wp plugin list --url=blog.example.com --status=active

      Ausgabe: Eine Tabelle der aktiven Plugins für die Website blog.example.com.

Zusätzlich zur Filterung der Plugins nach status=active kannst du auch die folgenden Filter verwenden:

  • inactive: Plugins, die installiert, aber nicht aktiv sind.
  • active-network: Plugins, die im Netzwerk aktiv sind.
  • must-use: Muss-Plugins, die automatisch geladen werden.

Plugins deaktivieren

Die Deaktivierung von Plugins ist oft notwendig, um Probleme zu beheben oder Updates vorzubereiten. WP-CLI ermöglicht es dir, Plugins im gesamten Netzwerk oder für bestimmte Websites zu deaktivieren.

  1. Deaktiviere alle Plugins im gesamten Netzwerk:
    wp plugin deactivate --network --all

    Ergebnis: Alle Plugins im Netzwerk sind deaktiviert.

  2. Deaktiviere bestimmte Plugins für eine einzelne Website:
    wp plugin deactivate <plugin-slug-1> <plugin-slug-2> --url=<site-url>

    Beispiel eingeben:

    wp plugin deactivate akismet hello-dolly --url=blog.example.com

    Ergebnis: Die Plugins akismet und hello-dolly sind für die Seite blog.example.com deaktiviert.

Plugins aktivieren

Mit diesen Befehlen kannst du Plugins entweder netzwerkweit oder für einzelne Websites in deinem Multisite-Setup aktivieren.

  1. Aktiviere alle Plugins im gesamten Netzwerk:
    wp plugin activate --network --all

    Ergebnis: Alle Plugins im Netzwerk sind aktiviert.

  2. Aktiviere bestimmte Plugins für eine einzelne Website:
    wp plugin activate <plugin-slug-1> <plugin-slug-2> --url=<site-url>

    Beispiel eingeben:

    wp plugin activate akismet hello-dolly --url=blog.example.com

    Ergebnis: Die Plugins akismet und hello-dolly sind für die Website blog.example.com aktiviert.

Plugins installieren

Die Installation von Plugins mit WP-CLI ist schnell und effizient. Einmal installiert, können Plugins für einzelne Websites oder für das gesamte Netzwerk aktiviert werden.

Der folgende Befehl kann verwendet werden, um ein Plugin für das Netzwerk zu installieren:

wp plugin install <plugin-slug>

Eingabebeispiel:

wp plugin install akismet

Ergebnis: Das Plugin akismet ist installiert und bereit zur Aktivierung.

Plugins aktualisieren

Mit diesen Befehlen kannst du deine Plugins im gesamten Netzwerk oder für bestimmte Websites auf dem neuesten Stand halten.

  1. Aktualisiere alle Plugins im gesamten Netzwerk:
    wp plugin update --network --all

    Ergebnis: Alle Plugins im Netzwerk werden aktualisiert.

  2. Bestimmte Plugins im gesamten Netzwerk aktualisieren:
    wp plugin update <plugin-slug-1> <plugin-slug-2> --network

    Eingabebeispiel:

    wp plugin update akismet jetpack bbpress --network

    Ergebnis: Die Plugins akismet, jetpack, und bbpress werden im Netzwerk aktualisiert.

  3. Aktualisiere ein Plugin für eine einzelne Website:
    wp plugin update --url=<site-url> <plugin-slug>

    Eingabebeispiel:

    wp plugin update --url=blog.example.com hello-dolly

    Ergebnis: Das Plugin hello-dolly wird für die Website blog.example.com aktualisiert.

Plugins löschen

Das Entfernen von Plugins ist mit WP-CLI ganz einfach, egal ob du an einer einzelnen Website oder einem Multisite-Netzwerk arbeitest.

  1. Lösche ein Plugin aus dem aktuellen WordPress-Kontext (Netzwerk oder Website):
    wp plugin delete <plugin-slug>

    Eingabebeispiel:

    wp plugin delete bbpress

    Ergebnis: Das Plugin bbpress wird gelöscht.

  2. Ein Plugin für eine bestimmte Website in einer Multisite löschen:
    wp plugin delete <plugin-slug> --url=<site-url>

    Beispiel eingeben:

    wp plugin delete bbpress --url=blog.example.com

    Ergebnis: Das Plugin bbpress wird von der Website blog.example.com gelöscht.

Netzwerkmanagement

Die Verwaltung von Websites in einem WordPress Multisite-Netzwerk ist eine wichtige Aufgabe. Im Folgenden findest du gängige WP-CLI-Befehle, die dir helfen, Websites effizient zu erstellen, zu verwalten und zu löschen sowie Caching-Operationen durchzuführen.

Websites erstellen

Das Hinzufügen neuer Websites zu deinem Netzwerk ist mit WP-CLI ganz einfach.

  • Grundlegendes Kommando: Erstelle eine neue Website, indem du einen eindeutigen Slug angibst.
    wp site create --slug=<site-name>

    Eingabebeispiel:

    wp site create --slug=blog

    Ergebnis: Ein neue Website blog.example.com oder example.com/blog wird erstellt und ist automatisch aktiv, je nachdem, wie dein Netzwerk eingerichtet ist.

  • Erweiterter Befehl: Alternativ können auch Flags an den Befehl angehängt werden. Im folgenden Beispiel wird eine Website mit einem bestimmten Website-Titel und Site-Administrator hinzugefügt.
    wp site create --slug=<site-name> --title="<site-title>" --email=<admin-email>

    Eingabebeispiel:

    wp site create --slug=blog --title="Blog Site" [email protected]

    Ergebnis: Eine Website mit dem Namen „Blog-Site“ wird erstellt, mit [email protected] als Administrator.

  • Alle Websites auflisten: Rufe eine Tabelle mit Site-IDs, URLs, Erstellungsdaten und Daten der letzten Aktualisierung ab:
    wp site list

    Du kannst die Site-Liste auch verfeinern, um nur die URLs aller Websites im Netzwerk zu erhalten:

    wp site list --field=url

    Ausgabe: Eine Liste der URLs für jede Website.

Leeren und Löschen von Websites

  1. Leere die primäre Website:
    wp site empty

    Ausgabe: Es erscheint eine Bestätigungsaufforderung zum Löschen aller Inhalte für die primäre Website.

  2. Eine einzelne Website leeren (alle Beiträge, Seiten, Links und Taxonomien werden entfernt):
    wp site empty --url=<site-url>

    Eingabebeispiel:

    wp site empty --url=blog.example.com

    Ergebnis: Alle Inhalte von blog.example.com werden gelöscht, aber die Website bleibt intakt.

  3. Leere alle Websites im Netzwerk:
    wp site list --field=url | xargs -n1 -I % wp site empty --url=% --yes

    Ergebnis: Dieser Befehl startet eine Schleife durch alle URLs und leert dann den Inhalt jeder Website, ohne dass du für jede Website eine Genehmigung erteilen musst.

  4. Eine einzelne Website nach ID löschen:
    wp site delete <site-id>

    Eingabebeispiel:

    wp site delete 5

    Ergebnis: Die Website mit der ID 5 wird gelöscht.

  5. Lösche mehrere Websites mit Bestätigungs-Bypass:
    wp site delete 2 --yes
    wp site delete 3 --yes

    Ergebnis: Die Websites mit den IDs 2 und 3 werden gelöscht. Die Kennzeichnung --yes hilft, die Eingabeaufforderungen zu überspringen.

Cache leeren

Da hier viele Cache-Typen auf unterschiedliche Weise gespeichert werden, verwenden wir das Kinsta Must-Use Plugin. Es wird automatisch für jede WordPress-Website in unserem System installiert.

Es löscht alle Caches, einschließlich Site-Cache, Edge-Cache, CDN-Cache und Redis-Cache.

  1. Lösche alle Caches (Website, Edge, CDN und Redis):
    wp kinsta cache purge --all
  2. Lösche nur den Site-Cache:
    wp kinsta cache purge --site
  3. CDN-Cache leeren:
    wp kinsta cache purge --cdn
  4. Objekt-Cache löschen:
    wp cache purge

Benutzerverwaltung

WP-CLI vereinfacht die Benutzerverwaltung in einer Multisite-Umgebung und ermöglicht es dir, Aufgaben schnell und effizient zu erledigen. In diesem Abschnitt werden gängige Vorgänge der Benutzerverwaltung beschrieben:

Benutzer auflisten

Das Auflisten von Benutzern in einem Netzwerk oder einer bestimmten Website ist mit WP-CLI ganz einfach.

  1. Liste alle Benutzer im Netzwerk auf:
    wp user list --network

    Ausgabe: Eine Tabelle mit Benutzer-ID, Login, Anzeigename, Benutzername, Registrierungsdatum und Rolle für jeden Benutzer oder jede Benutzerlistenabfrage.

  2. Benutzer für die Hauptseite auflisten:
    wp user list

    Ergebnis: Zeigt eine Tabelle mit den Benutzern für die Hauptseite an.

  3. Benutzer für eine bestimmte Website auflisten (sekundäre Website):
    wp user list --blog_id=<id>
    wp user list --url=<url>

    Eingabebeispiel:

    wp user list --blog_id=6

    Ergebnis: Es wird eine Tabelle mit allen Benutzern für die Website mit der Blog-ID 6 angezeigt.

Benutzer erstellen

In einem Multisite-Netzwerk werden die Benutzer standardmäßig im Netzwerk registriert. Ihre Rollen hängen davon ab, ob sie der erste Benutzer sind, der zu einer Website hinzugefügt wird, oder ob es sich um nachfolgende Benutzer handelt. Nutzernamen müssen mindestens vier Zeichen lang sein.

  1. Füge einen neuen Benutzer zur Hauptseite hinzu:
    wp user create <username> <email>

    Eingabebeispiel:

    wp user create johndoe [email protected]

    Ausgabe: Es wird eine Erfolgsmeldung angezeigt, die auch ein generiertes Passwort enthält.

  2. Hinzufügen eines neuen Benutzers zu einer bestimmten Website mit einer bestimmten Rolle:
    wp user create <username> <email> --role=<role> --url=<url>

    Eingabebeispiel:

    wp user create janedoe [email protected] --role=editor --url=blog.example.com

    Ausgabe: Der Benutzer janedoe wird der Website blog.example.com als „Editor“ hinzugefügt.

  3. Füge bei der Erstellung die Metadaten des Benutzerkontos hinzu:
    wp user create <username> <email> --display_name=<name> --nickname=<nickname>

    Eingabebeispiel:

    wp user create johndoe [email protected] --display_name="John Doe" --nickname="Johnny"

    Ergebnis: Der Benutzer johndoe wird mit einem Anzeigenamen John Doe und einem Spitznamen Johnny erstellt.

Benutzer aktualisieren

Das Aktualisieren von Benutzerinformationen wie Rollen oder Passwörtern ist mit WP-CLI schnell erledigt.

  1. Ändere (befördere oder degradiere) Benutzerrollen:
    wp user update <username|email|user_id> --role=<role>

    Beispiel eingeben:

    wp user update johndoe janedoe adminuser --role=super-administrator

    Ergebnis: Die Benutzer johndoe, janedoe und adminuser werden zu Superadministratoren befördert.

  2. Ein Benutzerkennwort zurücksetzen oder ändern:
    wp user update <username> --user_pass=<new_password>

    Eingabebeispiel:

    wp user update johndoe --user_pass=securePassword2024

    Ergebnis: Das Passwort für johndoe wird aktualisiert.

  3. Verkettete Befehle: Mit WP-CLI kannst du mehrere Aktionen in einem einzigen Befehl kombinieren und so bei der Bearbeitung von Benutzern Zeit sparen. So kannst du zum Beispiel gleichzeitig das Passwort und die Rolle eines Benutzers aktualisieren.
    wp user update <user> --user_pass=<new_password> --role=<status>

    Eingabebeispiel:

    wp user update johndoe --user_pass="newPassword2024" --role=editor

    Ergebnis: Das Passwort für den Benutzer johndoe wird auf newPassword2024 aktualisiert und seine Rolle wird auf „Editor“ geändert.

Verwalten von Benutzer-Metadaten

Mit den Benutzer-Metadaten kannst du Metadaten für Benutzerkonten hinzufügen, abrufen oder löschen.

  1. Benutzer-Metadaten abrufen:
    wp user meta get <username> <meta_key>

    Eingabebeispiel:

    wp user meta get johndoe nickname

    Ausgabe: Zeigt den Wert des Metaschlüssels nickname für den Benutzer johndoe an.

  2. Benutzer-Metadaten hinzufügen:
    wp user meta add <username> <meta_key> <meta_value>

    Eingabebeispiel:

    wp user meta add johndoe display_name "Mr. John Doe"

    Ergebnis: Mr. John Doe wird als Anzeigename für den Benutzer johndoe festgelegt.

  3. Benutzer-Metadaten löschen:
    wp user meta delete <username> <meta_key>

    Eingabebeispiel:

    wp user meta delete johndoe display_name

    Ergebnis: Dieser Befehl löscht den Metaschlüssel display_name für den Benutzer johndoe.

Benutzer löschen

Das Entfernen von Benutzern aus dem Netzwerk oder von bestimmten Websites ist mit WP-CLI effizient.

  1. Lösche einen Benutzer aus dem Netzwerk:
    wp user delete <username|user_id> --network

    Eingabebeispiel:

    wp user delete johndoe --network

    Ergebnis: Der Benutzer johndoe wird aus dem Netzwerk entfernt.

  2. Einen Benutzer von einer bestimmten Website löschen:
    wp user delete <username|user_id> --url=<site-url>

    Eingabebeispiel:

    wp user delete johndoe --url=mysite.example.com

    Ergebnis: Der Benutzer johndoe wird von der Website mysite.example.com entfernt.

Datenbankverwaltung

WP-CLI bietet eine leistungsstarke Alternative zu Tools wie phpMyAdmin für die Verwaltung deiner Datenbank. Dieser Abschnitt behandelt gängige Datenbankoperationen, die du mit WP-CLI durchführen kannst:

Eine Datenbank exportieren

Mit WP-CLI kannst du deine Datenbank als SQL-Datei exportieren. Die exportierte Datei wird im Stammverzeichnis deiner WordPress-Installation gespeichert.

wp db export

Ergebnis: Eine SQL-Datei wird im Hauptverzeichnis erstellt.

Wenn die exportierte Datei einen unschönen Namen hat, kannst du sie mit dem folgenden Befehl umbenennen:

wp eval 'if ( rename( "unganglyfilename.sql", "newfilename.sql" ) ) { echo "File renamed successfully."; } else { echo "Failed to rename file."; }'

Eingabebeispiel:

wp eval 'if ( rename( "cilawawugo4504_gTr4kSXUsmJ9FNauVnPb-2024-11-17-9545b3f.sql", "network-db.sql" ) ) { echo "File renamed successfully."; } else { echo "Failed to rename file."; }'

Ergebnis: Die Datei cilawaw…nPb--9545b3f.sql wird in network-db.sql umbenannt.

Herunterladen einer Datenbank

Um die exportierte Datenbankdatei auf deinen lokalen Rechner herunterzuladen, verwende den Befehl curl.

curl <remote-url> -o <local-path>

Eingabebeispiel:

curl example.com/network-db.sql -o ~/Downloads/network-db.sql

Ergebnis: Die Datei network-db.sql wird in dein lokales Downloads Verzeichnis heruntergeladen.

Hochladen einer Datenbank

Mit dem Befehl scp kannst du eine Datenbankdatei in das Stammverzeichnis deiner Multisite-Installation hochladen.

scp <local-path-to-file> <username>@<remote-server>:<remote-path>

Eingabebeispiel:

scp ~/Downloads/network-db.sql [email protected]:/var/www/example.com/public_html

Ergebnis: Die Datei network-db.sql wird nach der Authentifizierung in das Stammverzeichnis deiner WordPress-Installation hochgeladen.

Importieren einer Datenbank

Bevor du eine Datenbank importierst, musst du eventuell deine bestehenden Datentabellen zurücksetzen.

  1. Datentabellen zurücksetzen:
    wp db reset

    Ergebnis: Alle Datentabellen in der Datenbank werden geleert.

  2. Importiere die Datenbank:
    wp db import <file-name.sql>

    Eingabebeispiel:

    wp db import network-db.sql

    Ergebnis: Die Datei network-db.sql füllt die geleerten Datentabellen auf.

  3. Löschen Sie die importierte SQL-Datei: Aus Sicherheitsgründen sollten Sie die SQL-Datei nach dem Importieren löschen:
    rm <file-name.sql>

Praktische Beispiele

Uns fallen viele Befehle ein, die deinen Arbeitsablauf beschleunigen und vereinfachen werden. Hier sind drei Beispiele. Einige dieser Befehle sind zwar komplexer, aber sie bauen auf einfacheren Befehlen auf, um nützliche Vorgänge auszuführen.

Plugins installieren und aktivieren und gleichzeitig Miniaturansichten neu generieren.

Dieser Befehl durchläuft alle Websites im Netzwerk, installiert und aktiviert zwei Plugins und generiert die Miniaturansichten für jede Website neu.

wp site list --field=url | xargs -n1 -I % sh -c 'wp plugin activate <plugin slug> <plugin slug> --url=% && wp media regenerate --url=%'

Eingabebeispiel:

wp site list --field=url | xargs -n1 -I % sh -c 'wp plugin install akismet bbpress --activate --url=% && wp media regenerate --url=%'

Ergebnis: Die Plugins Akismet und BBPress sind auf allen Websites installiert und aktiviert, und die Miniaturansichten werden neu generiert.

Hinzufügen eines benutzerdefinierten Meta-Feldes für alle Nutzer

Dieser Befehl durchläuft alle Websites, ruft die Liste der Nutzer ab und fügt für jeden Nutzer ein benutzerdefiniertes Metafeld hinzu.

wp site list --field=url | xargs -n1 -I % sh -c 'wp user list --fields=ID --url=% --format=csv | tail -n +2 | xargs -n1 -I {} wp user meta add {} <meta-key> <meta-value> --url=%'

Eingabebeispiel:

wp site list --field=url | xargs -n1 -I % sh -c 'wp user list --fields=ID --url=% --format=csv | tail -n +2 | xargs -n1 -I {} wp user meta add {} favorite_color "" --url=%'

Ergebnis: Ein benutzerdefiniertes Meta-Feld, favorite_color, wird für alle Benutzer auf allen Websites hinzugefügt.

Um das Feld favorite_color anzuzeigen, musst du deine Datei functions.php verwenden oder ein benutzerdefiniertes Plugin erstellen.

Umwandlung einer Einzelsite-Installation in eine Multisite

WP-CLI macht es einfach, eine einzelne WordPress-Site in ein Multisite-Netzwerk umzuwandeln.

wp core multisite-convert

Ergebnis: Die Einzelsite wird in ein Multisite-Netzwerk umgewandelt.

Achte darauf, dass du vor der Umwandlung alle Plugins deaktivierst.

Nach der Umwandlung der Website musst du die Netzwerk-URLs in der Datei wp-config.php konfigurieren. Du kannst zwischen der Verwendung von Subdomains (z. B. site.example.com) oder Unterverzeichnissen (z. B. example.com/site) wählen. Überprüfe außerdem die Datei .htaccess, da die URL-Rewrite-Regeln (die vom mod_rewrite-Modul im Apache verwaltet werden) möglicherweise manuell aktualisiert werden müssen, um sicherzustellen, dass deine Permalinks und die Struktur deiner Website korrekt funktionieren.

Zusammenfassung

Dieser Leitfaden zeigt, wie leistungsfähig und flexibel WP-CLI für die Verwaltung von WordPress-Multisite-Umgebungen ist und macht es zu einem unverzichtbaren Werkzeug für Entwickler und Administratoren, die Effizienz und Kontrolle suchen. Von der Verwaltung von Plugins, Benutzern und Datenbanken bis hin zu fortgeschrittenen Operationen wie der Umwandlung von Einzelsites in Multisites vereinfacht WP-CLI komplexe Aufgaben mit Präzision und Geschwindigkeit.

Kinsta bietet ein unschätzbares und erweiterbares WP-CLI-Tool, das die nahtlose Verwaltung von WordPress-Multisite-Netzwerken ermöglicht. Egal, ob du mit Live- oder Staging-Umgebungen arbeitest oder unser lokales Entwicklungstool DevKinsta verwendest, WP-CLI steht dir zur Verfügung, um deinen Arbeitsablauf zu optimieren.

Mit WP-CLI kannst du Websites erstellen, Plugins und Benutzer hinzufügen und vieles mehr!

Bud Kraus

Bud Kraus has been working with WordPress as an in-class and online instructor, site developer, and content creator since 2009. He has produced instructional videos and written many articles for WordPress businesses.