Catégories
Wordpress

WordPress en ligne de commande: wp-cli

WP-CLI est l’outil de gestion de WordPress en ligne de commande sous Linux, il permet notamment d’installer WordPress, des plugins, sauvegarder, mettre à jour la version d’une installation WordPress existante et d’accéder plus généralement aux fonctionnalités coté admin en ligne de commande.

WP-CLI

Installer wp-cli

Le process d’installation consiste à récupérer l’outil (qui est un script php), et de le rendre disponible dans le PATH

  1. Installer wp-cli
    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  2. vérifier l’installation php wp-cli.phar --info
  3. rendre exécutable le fichier .phar
    sudo chmod +x wp-cli.phar
  4. déplacer le script dans /usr/local/bin, pour la rendre exécutable depuis le PATH et la renommer pour simplifier wp-cli.phar en wp-cli sudo mv wp-cli.phar /usr/local/bin/wp-cli
  5. créer un raccourci (symlink) pour avoir votre PATH la commande wp-cli mais aussi wp
    sudo -u www-data ln -s /usr/local/bin/wp-cli /usr/local/bin/wp
    chmod 750 /usr/local/bin/wp
  6. vérifier l’accessibilité de la nouvelle commande wp wp --info
  7. l’usage de wp nécessitera parfois un sudo -u www-data pour autoriser l’accès à certains fichiers php de WordPress

Mette à jour wp-cli

Le script wp-cli peut lui même être mis à jour et cela ne se fait pas automatiquement, mais il peut simplement se mettre à jour via :
wp cli update

Utilisation de wp-cli

A partir de là vous pouvez effectuer une fresh install de wordpress ou effectuer une mise à jour de votre installation WordPress.

Installer WordPress avec wp-cli

La commande wp core download va récupérer la dernière version et l’installer dans le --path :

sudo -u www-data wp core download --force --path='/var/www/monblogwordpress'

vérifier la version de WordPress fraichement téléchargée:

find /var/www/wordpress/ -name 'version.php' -exec grep '$wp_version =' {} \;

Mise à jour de WordPress

Il est possible de vérifier la version installée et de la mettre à jour via:
wp core check-update
wp core update

Migration de nom de domaine

  • tester si une instance de WP tourne actuellement pour l’installation souhaitée:
    wp core is-installed --allow-root --path='/var/www/wordpress'
  • effectuer un backup complet de la base WP dans un .sql
    wp db export --allow-root nom_de_mon_dump.sql
  • modifier en base toutes les occurences de l’ancien nom de domaine:
    wp search-replace 'http://ancien.com' 'http://nouveau.com' --allow-root

Reset du mot de passe d’un utilisateur

Il est possible de modifier le mot de passe d’un utilisateur quelconque, notamment de l’admin sur une instance WordPress spécifique:

wp user list  pour récupérer la liste des utilisateurs enregistrés, ainsi que leurs roles puis

wp user update login_de_l_utilisateur --user_pass="nouveau_mot_de_passe"  --path='/var/www/wordpress/'

Extensions WordPress

Pour en obtenir la liste puis la mettre à jour:

wp plugin list --path='/var/www/xxx'
wp plugin update --all

Thèmes WordPress

Idem pour les thèmes installés:

wp theme status
wp theme update --all