nerdism

Versionen! – Software-Updates mit wp-cli

Dieser Beitrag ist Teil 5 von 6 in der Serie wpcli

Eine der zentralen Aufgaben meiner wp-cli-Nutzung ist das Aktualisieren des WordPress-Kerns sowie der Plugins und Themes, sobald ein Update bereitsteht. Mittlerweile kann man WordPress die ganzen Updates selbstständig und damit automatisch erledigen lassen. Ich verlasse mich dabei jedoch ungern auf Automatismen und bin gern selbst aktiv, um Updates zu installieren. In diesem Artikel wird nun beschrieben, wie das zu bewerkstelligen ist.

In wp-cli ist die Funktion zur Selbstaktualisierung schon eingebaut, es kann also mit dem Kommando cli version die wp-cli-Versionsnummer angezeigt und mit cli update aktualisiert werden.

$ wp @blog cli version
WP-CLI 2.3.0
$ wp @blog cli check-update
+---------+-------------+----------------------------------------------------------+
| version | update_type | package_url                                              |
+---------+-------------+----------------------------------------------------------+
| 2.4.0   | minor       | https://github.com/wp-cli/<...>/v2.4.0/wp-cli-2.4.0.phar |
+---------+-------------+----------------------------------------------------------+
$ wp @blog cli update
You have version 2.3.0. Would you like to update to 2.4.0? [y/n] y
Downloading from https://github.com/wp-cli/<...>/wp-cli-2.4.0.phar...
md5 hash verified: 71d72726f0341f85d838b98b9c375080
New version works. Proceeding to replace.
Success: Updated WP-CLI to 2.4.0.

So ist wp-cli einfach aktuell zu halten. Dank der Aliases kann die wp-cli-Aktualisierung mit einem Befehl auf allen Installationen gleichzeitig ausgeführt werden.

wp @all cli version 
@blog
Success: WP-CLI is at the latest version.
<...>

Das wp-cli-Kommando core ... dient der Verwaltung des WordPress-Kernsystems. Mit core version kann die aktuelle WordPress-Version angezeigt, mit core update aktualisiert und mit core check-update auf vorhandene Aktualisierungen geprüft werden.

$ wp @live core version
5.2.3
$ wp @live core update
Updating to version 5.3 (de_DE)…
Herunterladen der Aktualisierung von https://downloads.wordpress.org/release/de_DE/wordpress-5.3.zip …
Entpacken der aktualisierten Version …
Success: WordPress updated successfully
$ wp @live core check-update
Success: WordPress is at the latest version.

Mit dem Kommando plugin list kann man sich einen Überblick der installierten Plugins sowie deren Status, Versionsnummer und eventuell vorhandenen Updates anzeigen lassen.

$ wp @live plugin list
+-------------------------+----------+-----------+---------+
| name                    | status   | update    | version |
+-------------------------+----------+-----------+---------+
| contact-form-7          | active   | none      | 5.1.4   |
| contact-form-7-honeypot | active   | none      | 1.14    |
| database-backups        | active   | none      | 1.2.2.6 |
| email-address-encoder   | active   | none      | 1.0.19  |
| rename-wp-login         | active   | none      | 2.6.0   |
| team-members            | active   | available | 4.1.2   |
| wp-updates-notifier     | active   | none      | 1.4.4   |
+-------------------------+----------+-----------+---------+

Ein Plugin wird mit dem Kommando plugin update aktualisiert.

$ wp @live plugin update team-members
Anschalten des Wartungsmodus …
Herunterladen der Aktualisierung von https://downloads.wordpress.org/plugin/team-members.zip …
Entpacken der aktualisierten Version …
Die aktuelle Version wird installiert …
Entfernung der alten Version des Plugins …
Das Plugin wurde erfolgreich aktualisiert.
Abschalten des Wartungsmodus …
+--------------+-------------+-------------+---------+
| name         | old_version | new_version | status  |
+--------------+-------------+-------------+---------+
| team-members | 4.1.2       | 5.0.1       | Updated |
+--------------+-------------+-------------+---------+
Success: Updated 1 of 1 plugins.

Ein Plugin kann auf dem selben Wege mit dem Kommando plugin deactivate deaktiviert und mit plugin uninstall deinstalliert werden. Es ist auch möglich, beim Deaktivieren mit der Option --uninstall das Plugin mit einem gleichzeitig zu deaktivieren und zu deinstallieren.

$ wp @live plugin deactivate mpcx-lightbox
Plugin 'mpcx-lightbox' deactivated.
Success: Deactivated 1 of 1 plugins.
wp @live plugin uninstall mpcx-lightbox
Uninstalled and deleted 'mpcx-lightbox' plugin.
Success: Uninstalled 1 of 1 plugins
$ wp @live plugin deactivate --uninstall wpseo
Plugin 'wpseo' deactivated.
Uninstalling 'wpseo'…
Uninstalled and deleted 'wpseo' plugin.
Success: Deactivated 1 of 1 plugins.

Analog zu den Plugins kann mit dem Kommando theme list eine Liste der installierten Themes angezeigt sowie und theme update ein Theme aktualisiert werden.

$ wp @beta theme list                          
+----------------+----------+-----------+---------+
| name           | status   | update    | version |
+----------------+----------+-----------+---------+
| short          | active   | available | 0.1.4   |
| twentynineteen | inactive | none      | 1.4     |
+----------------+----------+-----------+---------+
$ wp @beta theme update short
Anschalten des Wartungsmodus ...
Herunterladen der Aktualisierung von https://downloads.wordpress.org/theme/short.0.1.6.zip ...
Entpacken der aktualisierten Version ...
Die aktuelle Version wird installiert ...
Entfernung der alten Version des Themes ...
Das Theme wurde erfolgreich aktualisiert.
Abschalten des Wartungsmodus ...
+-------+-------------+-------------+---------+
| name  | old_version | new_version | status  |
+-------+-------------+-------------+---------+
| short | 0.1.4       | 0.1.6       | Updated |
+-------+-------------+-------------+---------+
Success: Updated 1 of 1 themes.

All die weiteren Möglichkeiten zur Verwaltung von Plugins und Themes werden mit dem Kommandos wp @live plugin --help und wp @live theme --help dargestellt.

Series Navigation<< Schnellzugriff auf WordPress-Installationen mit AliasesUnd sonst noch? >>

Autor

Ich bin Softwareentwickler und derzeit vor allem mit PHP und Webanwendungen beschäftigt. Nach 10 Jahren mit Drupal habe ich mich gerade frisch in Laravel verliebt. Jenseits dessen verteilen sich meine digitalen Interessen zwischen Python, diversen Linuxen und macOS.