Outil bien souvent méconnu des professionnels utilisant WordPress, WP CLI pourrait vous venir en aide dans bien des situations. Cet outil, maintenu par la communauté, permet d’effectuer un nombre important d’actions sur vos installations sans passer par le navigateur. Bien qu’il soit en ligne de commande, la prise en main est aisée et permet de se familiariser rapidement avec l’outil.
4. - WordPress Command Line Interface : Interface de commande en ligne (terminal)
- Intégration au projet WordPress depuis décembre 2017
- Maintenu et développé par la communauté, dirigé par Alain Schlesser
- Site officiel : https://wp-cli.org/fr/
- Documentation : https://make.wordpress.org/cli/handbook/
- 48 « commandes » de base avec des sous-commandes et des options
- Gestion de vos installations sans passer par le navigateur
8. - Automatisation des tâches répétitives (gestion des thèmes, extensions, utilisateurs, etc.)
- Développement collaboratif facilité avec des scripts et commandes communs
- Souplesse d’utilisation avec la possibilité de créer ses propres commandes
- Certaines extensions proposent des commandes WP CLI (WP Migrate DB Pro, WooCommerce,
SEOPress, Elementor, etc.)
- Effectuer des actions qui nécessiteraient l’installation d’extensions
- Possibilité de lancer des actions lourdes : le PHP CLI a des limites de temps d’éxécution
et de mémoire différentes du PHP HTTP
- Gain de temps dans les tâches de développement et de maintenance
10. - WP CLI est disponible par défaut chez certains hébergeurs et outils (O2switch, Hostinger, Local)
- La commande wp permet de vérifier si WP CLI est installé
- Étapes de l’installation
- Téléchargement sur le serveur d’une archive .phar
- Création de la commande wp
- Activation de l’autocomplétion
- Tutoriel : https://wpchannel.com/wordpress/tutoriels-wordpress/wp-cli/
- Composition des commandes : wp [composant][action][arguments]
- Installation et activation de WooCommerce : wp plugin install woocommerce --activate
- Accès via SSH
13. Installation
wp core download
wp config create —dbname=wordpress —dbuser=user —dbpass=password —dbhost=localhost —dbprefix=wp_
wp core install --url=yourdomain.com --title=Site_Title --admin_user=admin_username --
admin_password=admin_password --admin_email=your@email.com
Mises à jour du coeur
wp core update
Mises à jour de la base de données
wp core update-db
Vérification de la version actuelle du coeur
wp core version
21. Lister les utilisateurs
wp user list
Afficher les détails d’un utilisateur
wp user get <identifiant>
Créer un utilisateur
wp user create <nom-d-utilisateur> <adresse-email> --role=<role>
(le mot de passe est généré automatiquement)
Modifier les détails d’un utilisateur
wp user update <identifiant-de-l-utilisateur> --user_pass=<nouveau-mot-de-passe> --user_email=<nouvelle-
adresse-email>
Lister les rôles
wp role list
Créer un nouveau rôle
wp role create <nom-du-role> <description-du-role>
Supprimer un rôle
wp role delete <nom-du-role>
wp user list --format=csv
24. Exporter
wp db export <nom-du-fichier.sql>
Importer
wp db import <chemin-vers-le-fichier.sql>
Optimiser
wp db optimize
Effectuer un rechercher et remplacer
wp search-replace <ancienne-chaine> <nouvelle-chaine>
Afficher la taille de la base de données et de chaque table
wp db size
wp db size --tables --size_format=kb
Exécuter des requêtes SQL
wp db query <requête>
Supprimer les transients expirés
wp transient delete --expired
27. Régénérer les miniatures en masse
wp media regenerate --yes
Réinstaller le noyau WordPress en gardant les thèmes et les extensions installés
wp core download --skip-content --force
Générer des articles
wp post generate --count=10
curl -N https://loripsum.net/api/5 | wp post generate --post_content --count=10
Changer l’URL de WordPress
wp option update home ‘https://exemple.fr'
wp option update siteurl ‘https://exemple.fr'
Installer et activer une version spécifique d’un plugin
wp plugin install wordpress-seo --version=4.9 --activate
Dupliquer un post
wp post create --from-post=<post_id>
29. - Concaténer les commandes pour lancer plusieurs actions avec une seule ligne
- Créer des scripts Bash pour les actions répétitives
wp language core install fr_FR && wp site switch-language fr_FR && wp option update timezone_string "Europe/Paris" && wp
option update time_format "Ghi" && wp option update date_format "j F Y" && wp option update start_of_week 1 && wp plugin
install woocommerce --activate && wp theme install storefront && wp scaffold child-theme biarritz --
parent_theme=storefront && wp theme activate biarritz
- Créer vos propres commandes WP CLI pour vos développements, notamment pour les
opérations lourdes en terme de temps d’exécution (synchronisation de données par exemple)
Ex : Sauvegarde du site (base de données + fichiers) :
- Créer un dump SQL
- Créer un zip avec le dump et les fichiers
- Envoyer le zip avec rsync sur un serveur distant
- ajouter le script bash dans une tâche CRON avec un intervalle de répétition
- Utiliser les résultats d’une commande en argument
wp post delete $(wp post list --post_type='product' --format=ids) --force