WP-CLI Tutoriel
Table des matières
WP-CLI est une interface en ligne de commande qui permet aux utilisateurs de gérer leurs sites web WordPress à partir de l’invite de commande. Des mises à jour peuvent être effectuées, des sauvegardes peuvent être générées, de nouveaux messages peuvent être publiés et la plupart des actions d’administration habituelles peuvent être effectuées avec un ensemble de commandes.
Ce didacticiel explique comment utiliser l’interface de ligne de commande de WP pour effectuer des tâches administratives courantes comme les mises à niveau, la création de sauvegardes de bases de données, l’installation et la suppression de plugins et de thèmes, la publication et la suppression d’articles, la modification des paramètres d’URL d’un site et l’obtention d’aide sur les commandes choisies. Notez que WP-CLI nécessite un accès SSH.
Liste des commandes WP-CLI disponibles
Pour lister toutes les commandes, écrivez ” wp help” ou simplement ” wp” . La liste suivante sera affichée:
8aaee530 akismet Filtre les commentaires indésirables.
cache Gère le cache des objets.
cap Gère les capacités des utilisateurs.
checksum Vérifie les sommes de contrôle principales de WordPress.
cli Passe en revue les informations WP-CLI actuelles, vérifie les mises à jour ou les alias définis.
comment Gérer les commentaires.
config Gérer le fichier wp-config.php
Téléchargez, installez, mettez à jour et gérez une installation de WordPress.
cron Gère les évènements et les plannings de WP-Cron.
db Effectuer des opérations de base sur les bases de données en utilisant les informations d’identification stockées dans wp-config.php
eval Exécute du code PHP arbitraire.
eval-file Charger et exécuter un fichier PHP.
export Exporte le contenu de WordPress dans un fichier WXR.
help Obtient de l’aide sur WP-CLI ou sur une commande spécifique.
import Importe le contenu d’un fichier WXR.
jetpack Contrôle votre installation locale de Jetpack.
langue
media Importer de nouvelles pièces jointes ou régénérer celles qui existent déjà.
menu Répertorier, créer, affecter et supprimer des menus.
réseau
option Gérer les options.
package Gère les packages WP-CLI.
plugin Gérer les plugins.
publication Gérer les publications.
post-type Gérer les types de messages.
rewrite Gère les règles de réécriture.
role Gère les rôles des utilisateurs.
scaffold Génère du code pour les types de messages, les taxonomies, les greffons, les thèmes enfants, etc.
search-replace Rechercher/remplacer des chaînes dans la base de données.
server Lancer le serveur web intégré à PHP pour cette installation spécifique de WordPress.
sg Gérer le cache de SiteGround
sgphpcompat Teste la compatibilité avec les différentes versions de PHP.
shell Console interactive en PHP.
barre latérale Gérer les barres latérales.
site Effectue des opérations à l’échelle du site.
super-admin Gérez les super-administrateurs sur WordPress multisite.
taxonomie Gère les taxonomies.
terme Gérer les termes.
theme Gérer les thèmes.
transitoire Gère les transitoires.
user Gérer les utilisateurs.
widget Gérer les widgets de la barre latérale.
Si vous souhaitez obtenir une documentation détaillée, par exemple pour la commande « wp db export » , saisissez la commande ci-dessous:
exportation de base de données wp help
Le résultat sera le suivant:
NOM
exportation de la base de données wp
DESCRIPTIF
Exporte la base de données vers un fichier ou vers STDOUT.
RÉSUMÉ
wp db export [] [--=] [--tables=] [--exclude_tables=] [--porcelain]
ALIAS
vidage
Lance l’utilitaire « mysqldump » en utilisant « DB_HOST », « DB_NAME », « DB_USER » et
Les identifiants de la base de données « DB_PASSWORD » spécifiés dans wp-config.php.
OPTIONS
[]
Le nom du fichier SQL à exporter. Si « - », les sorties vers STDOUT. S'il est omis, ce sera « {nom_base}.sql ».
[--=]
Arguments supplémentaires à passer à mysqldump
[--tables=]
La liste séparée par des virgules des tables spécifiques à exporter. Exclure ce paramètre exportera toutes les tables de la base de données.
[--exclude_tables=]
La liste séparée par des virgules des tables spécifiques qui ne doivent pas être exportées. Exclure ce paramètre exportera toutes les tables de la base de données.
[--porcelaine]
Nom du fichier de sortie pour la base de données exportée.
EXEMPLES
# Exportation de la base de données avec drop query inclus
$ wp db export --add-drop-table
Réussite: exportation vers « wordpress_dbase.sql ».
# Exporte certaines tables
$ wp db export --tables=wp_options,wp_users
Réussite: exportation vers « wordpress_dbase.sql ».
# Exporte toutes les tables correspondant à un joker
$ wp db export --tables=$(wp db tables 'wp_user*' --format=csv)
Réussite: exportation vers « wordpress_dbase.sql ».
# Exporte toutes les tables correspondant au préfixe
$ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv)
Réussite: exportation vers « wordpress_dbase.sql ».
# Ignore certaines tables de la base de données exportée
$ wp db export --exclude_tables=wp_options,wp_users
Réussite: exportation vers « wordpress_dbase.sql ».
Mettre à jour WordPress via WP-CLI
Tout d’abord, vous devez vérifier la version actuelle de WordPress dont vous disposez:
nomutilisateur@nomserveur [~/WordPress/location]# wp core version
5.2.1
Si vous souhaitez mettre à jour votre cœur de WordPress vers une version plus récente, vous pouvez le faire via la commande suivante:
nomutilisateur@nomserveur [~/WordPress/location]# wp core update
Mise à jour vers la version 4.8.1 (en_US)...
Téléchargement de la mise à jour depuis https://downloads.wordpress.org/release/wordpress-4.8.1-partial-0.zip…
Déballage de la mise à jour…
Réussite: WordPress a été mis à jour avec succès.
Mettre à jour les plugins WordPress avec WP-CLI
Si vous souhaitez mettre à niveau des plugins ou des thèmes supplémentaires sur votre site Web WordPress, vous pouvez le faire avec WP-CLI. Pour vérifier par exemple l’état des greffons actuellement installés, utilisez cette commande:
nomutilisateur@nomserveur [~/WordPress/location]# liste des plugins wp
+--+----------+------------+ +
| nom | statut | mettre à jour | version |
+--+----------+------------+ +
| akismet | actif | disponible | 3.3.2 |
| google-captcha | actif | aucun | 1.31 |
| bonjour | inactif | aucun | 1.6 |
| jetpack | actif | aucun | 5.3 |
| sg-cachepress | actif | aucun | 3.3.2 |
+--+----------+------------+ +
Nous avons 5 greffons intégrés dans notre exemple d’installation. Il y a une mise à jour pour l’un d’eux. Pour effectuer une mise à jour pour ce greffon, la commande suivante peut être utilisée:
nomutilisateur@nomserveur [~/WordPress/location]# wp mise à jour du plugin akismet
Activation du mode Maintenance…
Téléchargement de la mise à jour depuis https://downloads.wordpress.org/plugin/akismet.3.3.4.zip…
Déballage de la mise à jour…
Installation de la dernière version…
Suppression de l’ancienne version du greffon…
Le greffon a été mis à jour avec succès.
Désactivation du mode maintenance…
+---------+------------+-----------+
| nom | ancienne_version | nouvelle_version | statut |
+---------+------------+-----------+
| akismet | 3.3.2 | 3.3.4 | Mise à jour |
+---------+------------+-----------+
Succès: mise à jour de 1 des 1 greffons.
Installer et activer les plugins WordPress & Thèmes via WP-CLI
Pour installer et activer un nouveau greffon, exécutez les commandes ci-dessous:
Installation du plugin wp Plugin_Name
wp plugin activate Nom_du_plugin
Vous devez remplacer la chaîne « Plugin_Name » par le nom exact du plugin.
Installation et utilisation de WP Doctor
WP Doctor est un outil développé pour aider à diagnostiquer les problèmes avec les sites web WordPress tels que l’échec de la mise à jour, les pages blanches, les problèmes de téléchargement, etc. Pour utiliser l’outil, vous devez d’abord l’installer. Vous pouvez le faire en exécutant la commande ci-dessous à la racine du document de votre site web WordPress:
Installation du paquetage wp git@github.com:wp-cli/doctor-command.git
Une fois l’outil installé avec succès, vous pouvez commencer à l’utiliser avec la commande wp doctor .
Pour vérifier toutes les options disponibles de la commande, utilisez:
wp docteur --help
Pour exécuter toutes les vérifications par défaut, exécutez la commande suivante:
wp doctor check --all
Les vérifications que l’outil exécutera sont:
core-verify-checksums – Vérifie si WordPress vérifie ses sommes de contrôle.
file-eval – Vérifie les fichiers sur le système de fichiers pour le modèle d’expression régulière eval(.*base64_decode(.* ce qui dans de nombreux cas indique un code suspect.
cache-flush – Détecte le nombre d’occurrences de la fonction wp_cache_flush() .
autoload-options-size – Avertit lorsque la taille des options chargées automatiquement dépasse le seuil de 900 ko.
constant-savequeries-falsy – Confirme l’état attendu de la constante SAVEQUERIES . SAVEQUERIES oblige WordPress à enregistrer une trace pour chaque requête SQL, ce qui est une opération lourde en ressources. Par conséquent, l’utilisation de SAVEQUERIES en production est déconseillée.
constant-wp-debug-falsy – Vérifie si le débogage wp est activé en vérifiant l’état de la constante WP_DEBUG .
core-update – Vérifie si l’application est à jour. Des erreurs sont affichées lorsqu’une nouvelle version mineure de WordPress est disponible ; met en garde contre une version majeure.
cron-count – Vérifie le nombre de tâches cron et affiche une erreur lorsqu’il y a plus de 50 tâches cron enregistrées.
cron-duplicates – Vérifie le nombre de tâches cron en double et affiche une erreur lorsqu’il y a plus de 10 tâches cron en double enregistrées.
option-blog-public – Vérifie si le site web est accessible au public en vérifiant la valeur de l’option blog_public .
plugin-active-count – Affiche un avertissement quand il y a plus de 80 greffons activés.
plugin-deactivated – Avertit quand plus de 40 % des greffons sont désactivés.
plugin-update – Affiche un avertissement quand des mises à jour de greffons sont disponibles.
theme-update – Avertit lorsque des mises à jour de thème sont disponibles.
php-in-upload – Affiche un avertissement lorsqu’un fichier PHP est présent dans le dossier Uploads.
language-update – Vérifie s’il y a une nouvelle version de la langue installée.
Si vous préférez n’exécuter qu’une ou plusieurs des vérifications ci-dessus, vous pouvez simplement les spécifier au lieu d’utiliser l’option –all . Vous pouvez voir comment faire dans les deux exemples ci-dessous:
wp doctor check autoload-options-size
ou
wp doctor check autoload-options-size core-verify-checksums
Installation et utilisation de WP Profile
WP Profile est un outil développé pour aider à diagnostiquer les problèmes avec les sites web WordPress lents. L’idée principale de l’extension est de diviser le processus de chargement en étapes, puis de donner la possibilité de suivre chacune d’elles. Il fournit des informations sur les horaires, les rappels et les emplacements. Pour utiliser l’outil, vous devez d’abord l’installer. Vous pouvez le faire en exécutant la commande ci-dessous à la racine du document de votre site web WordPress:
Installation du paquetage wp wp-cli/profile-command
Une fois l’outil installé avec succès, vous pouvez commencer à l’utiliser avec la commande wp profile .
Pour vérifier toutes les options disponibles de la commande, utilisez:
wp profile --help
Les sous-commandes de wp profile sont:
- eval – Profiler l’exécution de code arbitraire. L’exécution de code arbitraire (ACE) décrit la capacité d’un attaquant à exécuter du code ou des commandes arbitraires sur un site web cible.
- eval file – Profile l’exécution d’un fichier arbitraire.
- hook – Métriques clés du profil pour les hooks WordPress (actions et filtres).
- stage – Profiler chaque étape du processus de chargement de WordPress (bootstrap, main_query, template).
Pour analyser le chargement lent d’un site web, commencez par utiliser la sous-commande stage comme indiqué ci-dessous:
wp profile stage
Vous devriez l’exécuter à la racine des documents de votre site web. Le résultat est un tableau affichant des informations sur le processus de chargement de votre site web. Les colonnes les plus importantes de ce tableau sont:
- Étape – Les étapes sont 3 – bootstrap , main_query , modèle . En quelques mots simples: bootstrap où WordPress détermine quel modèle de thème afficher en fonction de la requête principale, et effectue le rendu.
- Temps – Affiche le temps nécessaire à chaque étape pour se charger.
- Cache ratio – Affiche le pourcentage de mise en cache sur les différentes étapes.
Vérifiez laquelle des étapes prend le plus de temps à charger (par exemple, le démarrage) et exécutez la commande ci-dessous:
wp profile stage bootstrap --spotlight
Utilisez — spot pour filtrer les valeurs nulles.
Ce qui ralentit habituellement les instances de WordPress, ce ne sont pas les fonctionnalités principales, mais ses plugins. Suivez-les avec:
hook de profil wp plugins_loaded --fields=callback,time,location --spotlight
Le résultat de cette commande vous fournira des informations sur les temps de chargement des différents greffons.
Autres tâches que vous pouvez effectuer avec WP-CLI
Vous pouvez écrire des messages directement depuis la ligne de commande. Pour créer un message, utilisez la commande suivante:
nomutilisateur@nomserveur [~/WordPress/location]# wp post create --post_type=page --post_status=publish --post_title='Mon message de test' --post_content='Ceci est un message de test'
Réussite: message créé le 18.
Si vous n’avez pas besoin d’un message, vous pouvez le supprimer facilement:
nomutilisateur@nomserveur [~/WordPress/location]# wp post delete 18
Réussite: message 18 dans la corbeille.
Vous pouvez également créer une sauvegarde de la base de données WordPress via WP-CLI, en utilisant la commande suivante:
nomutilisateur@nomserveur [~/WordPress/location]# wp db export
Réussite: exportation vers « nom d’utilisateur_wp123-3150ba8.sql ».
Si vous décidez de changer le domaine principal du site web WordPress, vous pouvez facilement mettre à jour les options d’URL correspondantes:
wp option update home https://newdomain.com
option wp mise à jour du siteurl https://newdomain.com
Plus de détails sur WP-cli peuvent être trouvés via la commande help et la page d’accueil du projet.