# Wordpress WP-CLI

[https://www.datanovia.com/en/fr/lessons/utilisation-de-docker-wordpress-cli-pour-gerer-les-sites-web-wordpress/](https://www.datanovia.com/en/fr/lessons/utilisation-de-docker-wordpress-cli-pour-gerer-les-sites-web-wordpress/)

## Exigences du WP-Cli

<div id="bkmrk-acc%C3%A8s-ssh-%C3%A0-votre-se">1. Accès SSH à votre serveur
2. PHP 5.3.2 ou version ultérieure.
3. WordPress 3.4 ou version ultérieure.
4. Un environnement UNIX comme Linux.

</div>## Installer WP-Cli

Vous pouvez soit 1) installer directement WP-Cli sur votre système ou l’installer en utilisant Docker.

### Installer directement sur votre système

<div id="bkmrk-%23-1%2F-t%C3%A9l%C3%A9charger-wp-"><div><div>```
<span class="hljs-comment"># 1/ Télécharger  wp-cli</span>
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
<span class="hljs-comment"># 2/ Rendre l'application exécutable</span>
chmod +x wp-cli.phar
<span class="hljs-comment"># 3/ Déplacez-le dans /usr/local/bin/wp</span>
sudo mv wp-cli.phar /usr/<span class="hljs-built_in">local</span>/bin/wp
<span class="hljs-comment"># Vérifier si l'installation a fonctionné</span>
wp --info
```

<div></div></div></div></div>Vous pouvez maintenant simplement taper “wp” dans votre terminal pour appeler WP-Cli. Au fait, n’oubliez pas de lancer wp depuis le répertoire racine de WordPress.

### Installer WordPress en utilisant le docker-compose et WP-ClI

Voir notre précédent tutoriel pour installer et configurer automatiquement wordpress en utilisant docker-compose et WP-CLI.

Vous pouvez [déployer automatiquement un site WordPress docker local](https://www.datanovia.com/en/fr/lessons/wordpress-development-local-avec-docker-compose/) en 5 minutes en utilisant les commandes suivantes:

<div id="bkmrk-%23-t%C3%A9l%C3%A9chargez-un-exe"><div><div>```
<span class="hljs-comment"># Téléchargez un exemple de docker-compose pour WordPress</span>
git <span class="hljs-built_in">clone</span> https://github.com/kassambara/wordpress-docker-compose
<span class="hljs-built_in">cd</span> wordpress-docker-compose
<span class="hljs-comment"># Installation automatique de wordpress</span>
make autoinstall
```

</div></div></div>Visitez votre site à l’adresse [http://localhost](http://localhost/) et votre base de données via phpMyAdmin à l’adresse [http://localhost:8080](http://localhost:8080/).

![Site internet](https://www.datanovia.com/en/wp-content/uploads/dn-tutorials/docker-compose-wordpress-woocommerce-and-wp-cli/images/wordpress-docker-compose-006-website.png)

![phpMyAdmin](https://www.datanovia.com/en/wp-content/uploads/dn-tutorials/docker-compose-wordpress-woocommerce-and-wp-cli/images/wordpress-docker-compose-007-phpmyadmin.png)

Identification par défaut de l’administrateur de votre site wordpress:

<div id="bkmrk-username%3A-wordpress-"><div><div>- `Username: wordpress`
- `Password: wordpress`

</div></div></div>Identification par défaut de l’interface phpMyAdmin:

<div id="bkmrk-username%3A-root-passw"><div><div>- `Username: root`
- `Password: password`

</div></div></div>Cette installation comprend également l’outil WP-ClI. Dans les prochaines sections, nous utiliserons les commandes WP-ClI de docker-compose. Donc, commencez par créer un alias pour appeler simplement les commandes de composition du docker WP-CLI:

<div id="bkmrk-wp%3D%22docker-compose-r"><div>```
wp=<span class="hljs-string">"docker-compose run --rm wpcli"</span>
```

</div></div>## Les commandes WP-CLI les plus populaires

<div id="bkmrk-commande-description"><table><colgroup><col width="17%"></col><col width="82%"></col></colgroup><thead><tr class="header"><th>COMMANDE</th><th>DESCRIPTION</th></tr></thead><tbody><tr class="odd"><td>wp cap</td><td>Ajoute, supprime et liste les capacités d’un rôle utilisateur.</td></tr><tr class="even"><td>wp cli</td><td>Examine les informations actuelles du WP-CLI, vérifie les mises à jour ou affiche les alias définis.</td></tr><tr class="odd"><td>wp comment</td><td>Crée, met à jour, supprime et modère les commentaires.</td></tr><tr class="even"><td>wp config</td><td>Génère et lit le fichier wp-config.php.</td></tr><tr class="odd"><td>wp core</td><td>Télécharge, installe, met à jour et gère une installation WordPress.</td></tr><tr class="even"><td>wp cron</td><td>Teste, exécute et supprime les événements WP-Cron ; gère les horaires WP-Cron.</td></tr><tr class="odd"><td>wp db</td><td>Effectue les opérations de base de la base de données en utilisant les informations d’identification stockées dans wp-config.php.</td></tr><tr class="even"><td>wp eval</td><td>Exécute un code PHP arbitraire.</td></tr><tr class="odd"><td>wp eval-file</td><td>Charge et exécute un fichier PHP.</td></tr><tr class="even"><td>wp export</td><td>Exporte le contenu de WordPress vers un fichier WXR.</td></tr><tr class="odd"><td>wp i18n</td><td>Fournit des outils d’internationalisation pour les projets WordPress.</td></tr><tr class="even"><td>wp import</td><td>Importe le contenu d’un fichier WXR donné.</td></tr><tr class="odd"><td>wp language</td><td>Installe, active et gère les packs de langues.</td></tr><tr class="even"><td>wp maintenance-mode</td><td>Active, désactive ou vérifie l’état du mode de maintenance d’un site.</td></tr><tr class="odd"><td>wp media</td><td>Importe des fichiers en pièces jointes, régénère des vignettes ou liste les tailles d’images enregistrées.</td></tr><tr class="even"><td>wp menu</td><td>Liste, crée, attribue et supprime les menus de navigation du thème actif.</td></tr><tr class="odd"><td>wp plugin</td><td>Gère les plugins, y compris les installations, les activations et les mises à jour.</td></tr><tr class="even"><td>wp post</td><td>Gère les messages, le contenu et les méta.</td></tr><tr class="odd"><td>wp post-type</td><td>Récupère les détails sur les types de publications.</td></tr><tr class="even"><td>wp rewrite</td><td>Liste ou supprime les règles de réécriture du site, met à jour la structure du permalien.</td></tr><tr class="odd"><td>wp role</td><td>Gère les rôles des utilisateurs, y compris la création de nouveaux rôles et la réinitialisation des valeurs par défaut.</td></tr><tr class="even"><td>wp scaffold</td><td>Génère du code pour les types de messages, les taxonomies, les plugins, les child thèmes, etc.</td></tr><tr class="odd"><td>wp search-replace</td><td>Recherche/remplacement de textes dans la base de données.</td></tr><tr class="even"><td>wp shell</td><td>Ouvre une console PHP interactive pour exécuter et tester le code PHP.</td></tr><tr class="odd"><td>sidebar wp</td><td>Listes des sidebars enregistrés.</td></tr><tr class="even"><td>wp site</td><td>Crée, supprime, vide, modère et liste un ou plusieurs sites sur une installation multisite.</td></tr><tr class="odd"><td>wp super-admin</td><td>Liste, ajoute ou supprime les utilisateurs super-admin sur une installation multisite.</td></tr><tr class="even"><td>wp taxonomy</td><td>Recherche d’informations sur les taxonomies enregistrées.</td></tr><tr class="odd"><td>wp term</td><td>Gère les termes de la taxonomie et les méta termes, avec les commandes de création, de suppression et de liste.</td></tr><tr class="even"><td>wp theme</td><td>Gère les thèmes, y compris les installations, les activations et les mises à jour.</td></tr><tr class="odd"><td>wp user</td><td>Gère les utilisateurs, ainsi que leurs rôles, leurs capacités et leurs méta.</td></tr><tr class="even"><td>wp widget</td><td>Gère les widgets, y compris l’ajout et le déplacement de ceux-ci dans les barres latérales.</td></tr></tbody></table>

</div>## Mise à jour de WordPress

<div id="bkmrk-%23-mise-%C3%A0-jour-vers-l">```
<span class="hljs-comment"># Mise à jour vers la dernière version</span>
<span class="hljs-variable">$wp</span> core update
<span class="hljs-comment"># Revenir à une version plus ancienne</span>
wp core update --version=4.9.6 --force
```

</div>## Commandes de plugins

<div id="bkmrk-nom-description-wp-p"><div><table><colgroup><col width="28%"></col><col width="71%"></col></colgroup><thead><tr class="header"><th>NOM</th><th>DESCRIPTION</th></tr></thead><tbody><tr class="odd"><td>wp plugin activate</td><td>Active un ou plusieurs plugins.</td></tr><tr class="even"><td>wp plugin deactivate</td><td>Désactive un ou plusieurs plugins.</td></tr><tr class="odd"><td>wp plugin delete</td><td>Supprime les fichiers de plugin sans les désactiver ou les désinstaller.</td></tr><tr class="even"><td>wp plugin get</td><td>Obtention de détails sur un plugin installé.</td></tr><tr class="odd"><td>wp plugin install</td><td>Installe un ou plusieurs plugins.</td></tr><tr class="even"><td>wp plugin is-active</td><td>Vérifie si un plugin donné est actif.</td></tr><tr class="odd"><td>wp plugin is-installed</td><td>Vérifie si un plugin donné est installé.</td></tr><tr class="even"><td>Liste de plugins wp</td><td>Obtenir une liste de plugins.</td></tr><tr class="odd"><td>wp plugin path</td><td>Donne le chemin d’accès à un plugin ou au répertoire des plugins.</td></tr><tr class="even"><td>wp plugin search</td><td>Recherche dans le répertoire des plugins de WordPress.org.</td></tr><tr class="odd"><td>wp plugin status</td><td>Révèle le statut d’un ou de tous les plugins.</td></tr><tr class="even"><td>wp plugin toggle</td><td>Bascule l’état d’activation d’un plugin.</td></tr><tr class="odd"><td>wp plugin uninstall</td><td>Désinstallation d’un ou plusieurs plugins.</td></tr><tr class="even"><td>wp plugin update</td><td>Mise à jour d’un ou plusieurs plugins.</td></tr></tbody></table>

<div></div></div></div>### Liste des plugins

<div id="bkmrk-%24wp-plugin-list-%2B---"><div><div>```
<span class="hljs-variable">$wp</span> plugin list
```

```
+---------+----------+--------+---------+
| nom | statut | mise à jour | version |
+---------+----------+--------+---------+
| akismet | inactif | aucun | 4.1.3 |
| hello | inactif | aucun | 1.7.2 |
+---------+----------+--------+---------+
```

</div><div></div></div></div>### Supprimer le plugin

<div id="bkmrk-%24wp-plugin-delete-ak"><div><div>```
<span class="hljs-variable">$wp</span> plugin delete akismet hello
```

</div><div></div></div></div>### Installer et activer le plugin

<div id="bkmrk-%23-installer-et-activ"><div><div>```
<span class="hljs-comment"># Installer et activer un nouveau plugin</span>
<span class="hljs-variable">$wp</span> plugin install woocommerce --activate
<span class="hljs-comment"># désactiver un plugin</span>
<span class="hljs-variable">$wp</span> plugin deactivate woocommerce
<span class="hljs-comment"># N'activez qu'un plugin</span>
<span class="hljs-variable">$wp</span> plugin activate woocommerce
<span class="hljs-comment"># Mise à jour des plugins</span>
<span class="hljs-variable">$wp</span> plugin update woocommerce
<span class="hljs-variable">$wp</span> plugin update --all
```

```
If you want to install and activate multiple WordPress plugins at once, you can mention multiple plugins in the same command.
```

</div><div></div></div></div>### Version du plugin et détails

<div id="bkmrk-%24wp-plugin-activate-"><div>```
<span class="hljs-variable">$wp</span> plugin activate woocommerce
```

```
+-------------+-----------------------------------------------------------------+
| Champ | Valeur |
+-------------+-----------------------------------------------------------------+
| nom | woocommerce |
| titre | WooCommerce |
| auteur | Automattic |
| version | 3.8.1 |
| description | Une boîte à outils pour le commerce électronique qui vous aide à vendre n'importe quoi. Magnifiquement. |
| statut | actif |
+-------------+-----------------------------------------------------------------+
```

</div></div>## Commandes de thème

<div id="bkmrk-nom-description-wp-t"><div><table><colgroup><col width="30%"></col><col width="69%"></col></colgroup><thead><tr class="header"><th>NOM</th><th>DESCRIPTION</th></tr></thead><tbody><tr class="odd"><td>wp theme activate</td><td>Active un thème.</td></tr><tr class="even"><td>Suppression d’un ou plusieurs thèmes.</td><td> </td></tr><tr class="odd"><td>wp theme disable</td><td>Désactive un thème sur une installation multi-sites WordPress.</td></tr><tr class="even"><td>wp theme enable</td><td>Active un thème sur une installation multisite WordPress.</td></tr><tr class="odd"><td>wp theme get</td><td>Obtenir des détails sur un thème.</td></tr><tr class="even"><td>wp theme install</td><td>Installe un ou plusieurs thèmes.</td></tr><tr class="odd"><td>wp theme is-active</td><td>Vérifie si un thème donné est actif.</td></tr><tr class="even"><td>wp theme is-installed</td><td>Vérifie si un thème donné est installé.</td></tr><tr class="odd"><td>wp theme list</td><td>Obtenir une liste des thèmes.</td></tr><tr class="even"><td>wp theme mod</td><td>Définit, obtient et supprime les mods de thèmes.</td></tr><tr class="odd"><td>wp theme path</td><td>Donne le chemin d’accès à un thème ou au répertoire des thèmes.</td></tr><tr class="even"><td>wp theme search</td><td>Recherche dans le répertoire des thèmes de WordPress.org.</td></tr><tr class="odd"><td>wp theme status</td><td>Révèle le statut d’un ou de tous les thèmes.</td></tr><tr class="even"><td>wp theme update</td><td>Mise à jour d’un ou plusieurs thèmes.</td></tr></tbody></table>

<div></div></div></div>### Liste de thèmes

<div id="bkmrk-%24wp-theme-list-%2B----"><div><div>```
<span class="hljs-variable">$wp</span> theme list
```

```
+-----------------+----------+--------+---------+
| nom | statut | mise à jour | version |
+-----------------+----------+--------+---------+
| twentynineteen | inactifs | aucun | 1,4 |
| twentyseventeen | inactifs | aucun | 2,2 |
| twentysixteen | inactifs | aucun | 2.0 |
| twentytwenty | actifs | aucun | 1.1 |
+-----------------+----------+--------+---------+
```

</div><div></div></div></div>### Activer un thème

<div id="bkmrk-%24wp-theme-activate-t"><div><div>```
<span class="hljs-variable">$wp</span> theme activate twentyseventeen
```

</div><div></div></div></div>### Mise à jour de thème

<div id="bkmrk-%23-mise-%C3%A0-jour-d%27un-t"><div>```
<span class="hljs-comment"># Mise à jour d'un thème</span>
<span class="hljs-variable">$wp</span> theme update twentyseventeen
<span class="hljs-comment"># Mettre à jour tous les thèmes</span>
<span class="hljs-variable">$wp</span> theme update --all
```

</div></div>## Rechercher et remplacer

Cette commande est particulièrement utile lorsque vous avez modifié l’URL du site ou même ajouté HTTPS à l’URL du site.

Faites d’abord un essai:

<div id="bkmrk-%24wp-search-replace-%7B"><div>```
<span class="hljs-variable">$wp</span> search-replace {old URL} {new URL} --dry-run
```

</div></div>La commande ci-dessus n’affichera le résultat escompté qu’une fois cette requête exécutée. Il s’agit d’une mesure de précaution pour s’assurer que le résultat sera conforme à l’attente. Une fois que vous êtes satisfait, vous pouvez procéder au remplacement effectif en retirant dry-run de la commande ci-dessus, comme suit:

<div id="bkmrk-%24wp-search-replace-%7B-0">```
<span class="hljs-variable">$wp</span> search-replace {old URL} {new URL}
```

</div>## Migration de contenu

<div id="bkmrk-wp-db-export%3A-export"><div>- `wp db export`: Exporte la base de données vers un fichier ou vers STDOUT.
- `wp db import`: Importe une base de données à partir d’un fichier ou de STDIN.

```
<span class="hljs-comment"># Exporte toute la base de données vers un fichier dans le répertoire wordpress</span>
<span class="hljs-variable">$wp</span> db <span class="hljs-built_in">export</span> db.sql

<span class="hljs-comment"># Exporter certains tableaux</span>
<span class="hljs-variable">$wp</span> db <span class="hljs-built_in">export</span> --tables=wp_options,wp_users

<span class="hljs-comment"># Importer une base de données</span>
<span class="hljs-variable">$wp</span> db import db.sql
```

<div></div></div></div>Il migre efficacement toutes les données et informations, y compris les messages, les liens, les dates, les auteurs, les commentaires, etc., et correspond en conséquence aux taxonomies WordPress existantes.

Commandes supplémentaires de gestion de la base de données:

<div id="bkmrk-nom-description-wp-d"><table><colgroup><col width="21%"></col><col width="78%"></col></colgroup><thead><tr class="header"><th>NOM</th><th>DESCRIPTION</th></tr></thead><tbody><tr class="odd"><td>wp db check</td><td>Vérifie l’état actuel de la base de données.</td></tr><tr class="even"><td>wp db clean</td><td>Supprime toutes les tables avec `$table_prefix` de la base de données.</td></tr><tr class="odd"><td>wp db cli</td><td>Ouvre une console MySQL en utilisant les informations d’identification de wp-config.php</td></tr><tr class="even"><td>wp db columns</td><td>Affiche des informations sur une table donnée.</td></tr><tr class="odd"><td>wp db create</td><td>Crée une nouvelle base de données.</td></tr><tr class="even"><td>wp db drop</td><td>Supprime la base de données existante.</td></tr><tr class="odd"><td>wp db export</td><td>Exporte la base de données vers un fichier ou vers STDOUT.</td></tr><tr class="even"><td>wp db import</td><td>Importe une base de données à partir d’un fichier ou de STDIN.</td></tr><tr class="odd"><td>wp db optimize</td><td>Optimise la base de données.</td></tr><tr class="even"><td>wp db prefix</td><td>Affiche le préfixe de la table de la base de données.</td></tr><tr class="odd"><td>wp db query</td><td>Exécute une requête SQL sur la base de données.</td></tr><tr class="even"><td>wp db repair</td><td>Réparation de la base de données.</td></tr><tr class="odd"><td>wp db reset</td><td>Supprime toutes les tables de la base de données.</td></tr><tr class="even"><td>wp db search</td><td>Trouve un texte dans la base de données.</td></tr><tr class="odd"><td>wp db size</td><td>Affiche le nom et la taille de la base de données.</td></tr><tr class="even"><td>wp db tables</td><td>Liste des tables de la base de données.</td></tr></tbody></table>

</div>## Gérer les utilisateurs

<div id="bkmrk-%23-liste-des-identifi">```
<span class="hljs-comment"># Liste des identifiants d'utilisateurs</span>
<span class="hljs-variable">$wp</span> user list 

<span class="hljs-comment"># Créer un nouvel utilisateur.</span>
<span class="hljs-variable">$wp</span> user create bob bob@example.com --role=author

<span class="hljs-comment"># Mettre à jour un utilisateur existant.</span>
<span class="hljs-variable">$wp</span> user update 123 --display_name=Mary --user_pass=marypass

<span class="hljs-comment"># Supprimer l'utilisateur 123 et réassigner les postes à l'utilisateur 567</span>
$ wp user delete 123 --reassign=567
```

</div>## Lire plus

<div id="bkmrk-https%3A%2F%2Fdeveloper.wo">- [https://developer.wordpress.org/cli/commands/](https://developer.wordpress.org/cli/commands/)

</div>