Wordpress : utiliser WP-CLI pour gére wordpress en ligne de commande

Autant pour Drupal, l'outil drush est très connu et permet de simplifier et d'accélérer les choses (installation de modules, mises à jour, nettoyage du cache), autant il semble que l'utilisation de la ligne de commande pour Wordpress n'est pas très répandu.

Cependant, il existe un outil wp-cli, qui fournit des fonctionnalités relativement semblables.

Je ne reprends pas ici toutes les commandes, vous pouvez vous référer au site d'origine.

Installation

L'installation (et l'utilisation) nécessite bien sûr d'avoir un accès au serveur en ligne de commande. Il n'est donc pas possible de l'utiliser sur un hébergement mutualisé.

On installe via un fichier phar


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

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp-cli

Note : dans la documentation "officielle", ils utilisent le raccourci wp. Je préfère wp-cli. Libre à vous d'adapter le nom de l'exécutable...


Utilisation

Voici les commandes que j'utilise le plus. Il y en a d'autres. On peut se référer à la documentation.

Vérifier les versions

Pour le Core : wp-cli core version

Exemple :

wp-cli core version
4.8.1


On peut aussi vérifier si une mise à jour du Core est disponible, avec wp-cli core check-update :

wp-cli core check-update
Success: WordPress is at the latest version.

Pour les Plugins : wp-cli plugin status

Exemple :

wp-cli plugin status
7 installed plugins:
  A advanced-wp-columns 2.0.6
  A column-shortcodes   1.0
  A contact-form-7      4.9
  A ml-slider           3.5.1
  A responsive-lightbox 1.7.2
  A shortcodes-ultimate 4.10.2
 UA wordpress-seo       4.9

Legend: A = Active, U = Update Available

Lancer les mises à jour

Pour le Core, on utlise

wp-cli core update

Pour les plugins, c'est

wp-cli update [nom du plugin]

Exemple :

wp-cli plugin update contact-form-7
Activation du mode maintenance...
Téléchargement de la mise à jour depuis https://downloads.wordpress.org/plugin/contact-form-7.4.9.zip...
Using cached file '/www/toto/.wp-cli/cache/plugin/contact-form-7-4.9.zip'...
Décompression de la mise à jour...
Installation de la dernière version...
Retrait de l’ancienne version de l’extension...
L’extension a bien été mise à jour.
Désactivation du mode maintenance...
+----------------+-------------+-------------+---------+
| name           | old_version | new_version | status  |
+----------------+-------------+-------------+---------+
| contact-form-7 | 4.8         | 4.9         | Updated |
+----------------+-------------+-------------+---------+
Success: Updated 1 of 1 plugins.

 

Conclusion

Cet utilitaire permet de se simplifier la vie, et participe également à la sécurisation des sites wordpress. En effet, on peut avoir des répertoires qui appartiennent à un utilisateur différent de celui qui fait tourner le site (www-data généralement).

En mettant des droits d'accès en lecture seule pour www-data, sur les répertoires des modules et du core, on limite les risques d'attaques.

 

Catégorie
Tag