Wordpress en ligne de commande: wp-cli
wp-cli est l'outil officiel de gestion de Wordpress en ligne de commande (CLI).
Il permet notamment :
- d'installer Wordpress
- d'installer des plugins ou des thèmes Wordpress
- 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
- sauvegarder son installation Wordpress
Installer et mettre à jour wp-cli
Installation
Le process d'installation consiste à récupérer l'outil (qui est un script php, fichier .phar), et de le rendre disponible dans le PATH
- Installer
wp-cliaveccurl:
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar- vérifier l'installation
php wp-cli.phar --info- rendre exécutable le fichier .phar
sudo chmod +x wp-cli.phar- déplacer le script dans
/usr/local/bin, pour la rendre exécutable depuis le PATH et la renommer pour simplifierwp-cli.pharenwp-cli
sudo mv wp-cli.phar /usr/local/bin/wp-cli- créer un raccourci (symlink) pour avoir votre PATH la commande
wp-climais aussiwp
sudo ln -s /usr/local/bin/wp-cli /usr/local/bin/wp- vérifier l'accessibilité de la nouvelle commande
wp
wp --infoMise à jour
Le script wp-cli se met à jour simplement via la commande
wp cli updateUtilisation de wp-cli
A partir de là vous pouvez effectuer une fresh install de wordpress, effectuer une mise à jour de votre installation Wordpress, installer un theme ou un plugin en 1 commande 🎉 !
Pour l'ensemble des commandes wp il existe un ensemble d'options communes appelés paramètres globaux (ex --path).
sudo wp-cli
L'utilisation de sudo avec la commande wp nous affiche des messages auxquelles il faut preter attention, cependant si elles nécessitent sudo, il existe l'option --allow-root de wp (cas d'usage : docker containers).
Plus récement depuis la version 2.6.0 du wp cli, une variable d'environnement WP_CLI_ALLOW_ROOT permet de s'affranchir de cette option.
Upgrade de Wordpress en 30sec
Pour mettre a jour sa version de Wordpress, ses thèmes, plugins :
# Mettre à jour l'instance Wordpress
wp core update --path='/var/www/wordpress' --allow-root
# Mise à jour de tous les Thèmes
wp theme update twentyfifteen twentysixteen
# Passage en mode auto update de tous les Thèmes (recommandé)
wp theme auto-updates enable --all
# Mise à jour de tous les Plugins
wp plugin update --all
# Passage en mode auto update de tous les Plugins (recommandé)
wp plugin auto-updates enable --allMode maintenance
wp-cli nous permet d'activer un mode "maintenance" avec wp maintenance-mode
Activates, deactivates or checks the status of the maintenance mode of a site.
wp maintenance-mode <command>
activate Activates maintenance mode.
deactivate Deactivates maintenance mode.
is-active Detects maintenance mode status.
status Displays maintenance mode status.Migration de nom de domaine
- tester si une instance de WP tourne actuellement pour l'installation souhaitée:
wp core is-installed --path='/var/www/wordpress'- effectuer un backup complet de la base WP dans un .sql avec
wp db export:
wp db export --path='/var/www/wordpress' nom_de_mon_dump.sql- la commande
searchn'existant pas, il faut ruser et utiliserwp search-replaceavec l'option--dry-runpour rechercher un élément :
wp search-replace http://ancien.com http://nouveau.com --path='/var/www/wordpress' --dry-run- modifier en base toutes les occurences de l'ancien nom de domaine avec
wp search-replace:
wp search-replace 'http://ancien.com' 'http://nouveau.com' --path='/var/www/wordpress'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 :
wp user update login_de_l_utilisateur --user_pass="nouveau_mot_de_passe" --path='/var/www/wordpress/'