Start
/
WordPress Tutorials
/
WP-CLI Tutorial

WP-CLI Tutorial

WP-CLI ist eine Befehlszeilenschnittstelle, die es den Benutzern ermöglicht, ihre WordPress-Websites von der Eingabeaufforderung aus zu verwalten. Upgrades können durchgeführt werden, Backups können erstellt werden, neue Beiträge können veröffentlicht werden und die meisten regulären Admin-Aktionen können mit einem Satz von Befehlen ausgeführt werden.

Dieses Tutorial erklärt, wie man die WP-Befehlszeilenschnittstelle verwendet, um reguläre Verwaltungsaufgaben wie Upgrades, die Erstellung von Datenbank-Backups, Plugins und Theme-Installation und-Entfernung, Veröffentlichung und Löschung von Posts, Änderung der URL-Einstellungen der Website und Hilfe zu ausgewählten Befehlen durchzuführen. Beachten Sie, dass WP-CLI einen SSH-Zugriff erfordert.

Liste der verfügbaren WP-CLI-Befehle

Um alle Befehle aufzulisten, schreiben Sie “wp help” oder einfach “wp”. Die folgende Liste wird angezeigt:

akismet           Filter spam comments.
cache             Manage the object cache.
cap               Manage user capabilities.
checksum          Verify WordPress core checksums.
cli               Review current WP-CLI info, check for updates, or see defined aliases.
comment           Manage comments.
config            Manage the wp-config.php file
core              Download, install, update and manage a WordPress install.
cron              Manage WP-Cron events and schedules.
db                Perform basic database operations using credentials stored in wp-config.php
eval              Execute arbitrary PHP code.
eval-file         Load and execute a PHP file.
export            Export WordPress content to a WXR file.
help              Get help on WP-CLI, or on a specific command.
import            Import content from a WXR file.
jetpack           Control your local Jetpack installation.
language
media             Import new attachments or regenerate existing ones.
menu              List, create, assign, and delete menus.
network
option            Manage options.
package           Manage WP-CLI packages.
plugin            Manage plugins.
post              Manage posts.
post-type         Manage post types.
rewrite           Manage rewrite rules.
role              Manage user roles.
scaffold          Generate code for post types, taxonomies, plugins, child themes, etc.
search-replace    Search/replace strings in the database.
server            Launch PHP's built-in web server for this specific WordPress install.
sg                Manage SiteGround Cache
sgphpcompat       Test compatibility with different PHP versions.
shell             Interactive PHP console.
sidebar           Manage sidebars.
site              Perform site-wide operations.
super-admin       Manage super admins on WordPress multisite.
taxonomy          Manage taxonomies.
term              Manage terms.
theme             Manage themes.
transient         Manage transients.
user              Manage users.
widget            Manage sidebar widgets.

Wenn Sie eine detaillierte Dokumentation erhalten möchten, beispielsweise für den Befehl “ wp db export” , geben Sie den folgenden Befehl ein:

wp help db export

Das Ergebnis wird wie folgt aussehen:

NAME

  wp db export

DESCRIPTION

  Exports the database to a file or to STDOUT.

SYNOPSIS

  wp db export [] [--=] [--tables=] [--exclude_tables=] [--porcelain]

ALIAS

  dump

  Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and
  `DB_PASSWORD` database credentials specified in wp-config.php.

OPTIONS

  []
    The name of the SQL file to export. If '-', then outputs to STDOUT. If omitted, it will be '{dbname}.sql'.

  [--=]
    Extra arguments to pass to mysqldump

  [--tables=]
    The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database.

  [--exclude_tables=]
    The comma separated list of specific tables that should be skipped from exporting. Excluding this parameter will export all tables in the database.

  [--porcelain]
    Output filename for the exported database.

EXAMPLES

    # Export database with drop query included
    $ wp db export --add-drop-table
    Success: Exported to 'wordpress_dbase.sql'.

    # Export certain tables
    $ wp db export --tables=wp_options,wp_users
    Success: Exported to 'wordpress_dbase.sql'.

    # Export all tables matching a wildcard
    $ wp db export --tables=$(wp db tables 'wp_user*' --format=csv)
    Success: Exported to 'wordpress_dbase.sql'.

    # Export all tables matching prefix
    $ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv)
    Success: Exported to 'wordpress_dbase.sql'.

    # Skip certain tables from the exported database
    $ wp db export --exclude_tables=wp_options,wp_users
    Success: Exported to 'wordpress_dbase.sql'.

WordPress via WP-CLI aktualisieren

Zuerst müssen Sie die aktuelle Version von WordPress überprüfen, die Sie haben:

username@servername [~/WordPress/location]# wp core version
5.2.1

Wenn Sie Ihren WordPress-Core auf eine neuere Version aktualisieren möchten, können Sie dies über den folgenden Befehl tun:

username@servername [~/WordPress/location]# wp core update
Updating to version 4.8.1 (en_US)...
Downloading update from https://downloads.wordpress.org/release/wordpress-4.8.1-partial-0.zip...
Unpacking the update...
Success: WordPress updated successfully.

WordPress Plugins mit WP-CLI aktualisieren

Wenn Sie zusätzliche Plugins oder Themes auf Ihrer WordPress-Website aktualisieren möchten, können Sie dies mit WP-CLI tun. Um beispielsweise den Status der aktuell installierten Plugins zu überprüfen, verwenden Sie diesen Befehl:

username@servername [~/WordPress/location]# wp plugin list
+----------------+----------+-----------+---------+
| name           | status   | update    | version |
+----------------+----------+-----------+---------+
| akismet        | active   | available | 3.3.2   |
| google-captcha | active   | none      | 1.31    |
| hello          | inactive | none      | 1.6     |
| jetpack        | active   | none      | 5.3     |
| sg-cachepress  | active   | none      | 3.3.2   |
+----------------+----------+-----------+---------+

Wir haben 5 Plugins in unsere Beispielinstallation integriert. Für einen gibt es ein Upgrade. Um ein Upgrade für dieses Plugin durchzuführen, kann der folgende Befehl verwendet werden:

username@servername [~/WordPress/location]# wp plugin update akismet
Enabling Maintenance mode...
Downloading update from https://downloads.wordpress.org/plugin/akismet.3.3.4.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Disabling Maintenance mode...
+---------+-------------+-------------+---------+
| name    | old_version | new_version | status  |
+---------+-------------+-------------+---------+
| akismet | 3.3.2       | 3.3.4       | Updated |
+---------+-------------+-------------+---------+
Success: Updated 1 of 1 plugins.

WordPress-Plugins > Themes über WP-CLI installieren und aktivieren

Um ein neues Plugin zu installieren und zu aktivieren, führen Sie die folgenden Befehle aus:

    wp plugin install Plugin_Name
    wp plugin activate Plugin_Name

Sie sollten die Zeichenkette “Plugin_Name” durch den genauen Plugin-Namen ersetzen.

Installation und Verwendung von WP Doctor

WP Doctor ist ein Werkzeug, das entwickelt wurde, um bei der Diagnose von Problemen mit WordPress-Websites wie fehlgeschlagenes Update, leere Seite, Upload-Probleme, usw. zu helfen. Um das Tool zu verwenden, sollten Sie es zuerst installieren. Sie können das tun, indem Sie den folgenden Befehl im Root-Verzeichnis Ihrer WordPress-Website ausführen:

wp package install git@github.com:wp-cli/doctor-command.git

Nachdem das Tool erfolgreich installiert wurde, können Sie es mit dem Befehl wp doctor verwenden.

Um alle verfügbaren Optionen des Befehls zu überprüfen, verwenden Sie:

wp doctor --help

Um alle Standardprüfungen auszuführen, führen Sie den folgenden Befehl aus:

wp doctor check --all

Die Prüfungen, die das Tool ausführen wird, sind:

core-verify-checksums – Überprüft, ob WordPress mit seinen Checksummen übereinstimmt.

file-eval – Überprüft Dateien im Dateisystem auf Regex-Muster eval (.*base64_decode (.*), was in vielen Fällen auf verdächtigen Code hinweist.

cache-flush – Erkennt die Anzahl der Vorkommen der Funktion wp_cache_flush () .

autoload-options-size – Warnt, wenn die Größe von automatisch geladenen Optionen den Schwellenwert von 900 kb überschreitet.

constant-savequeries-falsy – Bestätigt den erwarteten Zustand der SAVEQUERIES Konstante. SAVEQUERIES bewirkt, dass WordPress einen Backtrace für jede SQL-Anfrage speichert, was eine ressourcenintensive Operation ist, daher wird von der Verwendung von SAVEQUERIES in der Produktion abgeraten.

constant-wp-debug-falsy- Überprüft, ob WP Debugging aktiviert ist, indem der Status der Konstanten WP_DEBUG überprüft wird.

core-update – Überprüft, ob die Anwendung aktuell ist. Fehler werden angezeigt, wenn eine neue Version von WordPress verfügbar ist; warnt vor einer größeren Veröffentlichung.

cron-count – Überprüft die Anzahl der Cron-Jobs und zeigt einen Fehler an, wenn mehr als 50 registrierte Cron-Jobs registriert sind.

cron-duplicates – Überprüft die Anzahl der duplizierten Cron-Jobs und zeigt eine Fehlermeldung an, wenn mehr als 10 duplizierte Cron-Jobs registriert sind.

option-blog-public – Überprüft, ob die Website öffentlich verfügbar ist, indem der Wert der Option blog_public überprüft wird.

plugin-active-count – Zeigt eine Warnung an, wenn mehr als 80 Plugins aktiviert sind.

plugin-disabled – Warnt, wenn mehr als 40% der Plugins deaktiviert sind.

plugin-update – Zeigt eine Warnung an, wenn Plugin-Updates verfügbar sind

theme-update – Warnt, wenn Theme-Updates verfügbar sind.

php-in-upload – Zeigt eine Warnung an, wenn eine PHP-Datei im Ordner Uploads vorhanden ist.

language-update – Überprüft, ob es eine neue Version der installierten Sprache gibt.

Wenn Sie nur eine oder einige der obigen Prüfungen durchführen möchten, können Sie diese einfach angeben, anstatt die Funktion –all zu benutzen. Sie können überprüfen, wie das in den beiden folgenden Beispielen aussieht:

wp doctor check autoload-options-size

oder

wp doctor check autoload-options-size core-verify-checksums

Installation und Verwendung von WP Profile

WP Profile ist ein Tool, das entwickelt wurde, um bei der Diagnose von Problemen mit langsamen WordPress-Websites zu helfen. Die Hauptidee der Erweiterung ist es, den Ladevorgang in Stufen aufzuteilen und dann die Möglichkeit zu geben, jeden von ihnen zu verfolgen. Es liefert Informationen über Timings, Callbacks und Orte. Um das Tool zu verwenden, sollten Sie es zuerst installieren. Sie können das tun, indem Sie den folgenden Befehl im Stammverzeichnis Ihrer WordPress-Website ausführen:

wp package install wp-cli/profile-command

Nachdem das Tool erfolgreich installiert wurde, können Sie es mit dem Befehl wp profile verwenden.

Um alle verfügbaren Optionen des Befehls zu überprüfen, verwenden Sie:

wp profile --help

Die Unterbefehle von wp profile sind:

  • eval- Profiliert einen beliebigen Code. Arbitrary Code Execution (ACE) wird verwendet, um die Fähigkeit eines Angreifers zu beschreiben, beliebige Befehle oder Code auf einer Ziel-Website auszuführen
  • eval file – Profiliert eine beliebige Datei.
  • hook – Profiliert Key Metrics für WordPress Hooks (Aktionen und Filter).
  • stage – Profiliert jede Phase des Ladevorgangs von WordPress (bootstrap, main_query, template).

Um das langsame Laden einer Website zu untersuchen, beginnen Sie mit dem Unterbefehl stage, wie unten gezeigt:

wp profile stage

Sie sollten das im Root-Verzeichnis Ihrer Website ausführen. Die Ausgabe ist eine Tabelle mit Informationen über den Ladevorgang Ihrer Website. Die wichtigsten Spalten dieser Tabelle sind:

  • Stage – Die Stufen sind 3- bootstrap , main_query , template . In ein paar einfachen Worten- Bootstrap ist, wo WordPress sich einrichtet, Plugins und das Hauptthema lädt und den init-Hook auslöst, main_query ist, wie WordPress mit Anfragen umgeht und template ist der Ort, an dem WordPress basierend auf der Hauptabfrage bestimmt, welches Theme-Template gerendert werden soll, und rendert es.
  • Time – Zeigt die Zeit an, die jede Stufe zum Laden benötigt.
  • Cache ratio – Zeigt den Prozentsatz des Caching auf den verschiedenen Stufen an.

Prüfen Sie, welche der Phasen die meiste Zeit zum Laden benötigt (z.B. bootstrap) und führen Sie den folgenden Befehl aus:

wp profile stage bootstrap --spotlight

Verwenden Sie-spotlight, um die Nullwerte zu filtern.

Was WordPress-Instanzen normalerweise verlangsamt, sind nicht die Kernfunktionen, sondern die Plugins. Verfolgen Sie sie mit:

wp profile hook plugins_loaded --fields=callback,time,location --spotlight

Die Ausgabe dieses Befehls liefert Informationen über die Ladezeiten der verschiedenen Plugins.

Andere Aufgaben, die Sie mit WP-CLI erledigen können

Sie können Beiträge direkt von der Befehlszeile aus schreiben. Um einen Beitrag zu erstellen, verwenden Sie den folgenden Befehl:

username@servername [~/WordPress/location]# wp post create --post_type=page --post_status=publish --post_title='My test post' --post_content='This is a test post'
Success: Created post 18.

Wenn Sie einen bestimmten Beitrag nicht benötigen, können Sie ihn ganz einfach löschen:

username@servername [~/WordPress/location]# wp post delete 18
Success: Trashed post 18.

Sie können auch ein Backup der WordPress-Datenbank über WP-CLI erstellen, indem Sie den folgenden Befehl verwenden:

username@servername [~/WordPress/location]# wp db export
Success: Exported to 'username_wp123-3150ba8.sql'.

Wenn Sie sich entscheiden, die primäre Domain für die WordPress-Website zu ändern, können Sie die entsprechenden URL-Optionen leicht aktualisieren:

wp option update home https://newdomain.com
wp option update siteurl https://newdomain.com

Weitere Informationen zu WP-cli finden Sie über den Befehl help und die Homepage des Projekts.

Tutorial-Menü

Diesen Artikel teilen