WP-CLI The command line interface for WordPress

WP-CLI est un ensemble d’outils en ligne de commande pour gérer vos installations WordPress. Vous pouvez mettre à jour les extensions, configurer des installations multisite et beaucoup plus sans avoir recours à un navigateur web.

L’entretien continu de ce projet est possible grâce à :

Pour rester à jour, suivez @wpcli sur Twitter ou inscrivez-vous à notre lettre d’information par email.

Statut du build Temps moyen pour traiter un ticket Pourcentage de tickets encore ouverts

Liens rapides: Utilisation | Installation | Soutien | Étendre | Contribuer | Crédits

Utilisation

L’objectif de WP-CLI est de fournir une interface en ligne de commande pour toute action qu’il serait utile de faire dans l’administration WordPress. Par exemple, wp plugin install --activate (doc) vous permet d’installer et d’activer une extension WordPress :

$ wp plugin install rest-api --activate
Installing WordPress REST API (Version 2) (2.0-beta13)
Downloading install package from https://downloads.wordpress.org/plugin/rest-api.2.0-beta13.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Activating 'rest-api'...
Success: Plugin 'rest-api' activated.

WP-CLI inclut aussi des commandes pour d’autres actions que vous ne pouvez pas faire dans l’administration WordPress. Par exemple, wp transient delete-all (doc) permet de supprimer un ou tous les “transients” :

$ wp transient delete-all
Success: 34 transients deleted from the database.

Pour une introduction plus complète sur l’utilisation de WP-CLI, lisez le Guide de démarrage rapide (en). Vous pouvez également en apprendre davantage sur l’utilisation de la ligne de commande via des informations sur l’utilisation du Shell (en).

Vous vous sentez déjà à l’aise avec les bases ? Allez voir la liste complète des commandes (en) pour avoir des informations détaillées sur la gestion des thèmes et extensions, l’import/export de données, l’exécution de rechercher/remplacer dans la base de données et bien plus.

Installation

Télécharger le Phar est la méthode d’installation que nous recommandons. Si vous avez besoin, vous pouvez aussi consulter notre documentation sur d’autres méthodes d’installation (en).

Avant d’installer WP-CLI, veuillez vous assurer que votre environnement répond aux exigences minimales :

Une fois que vous avez vérifié ces exigences, téléchargez le fichier wp-cli.phar en utilisant wget ou curl :

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Ensuite, vérifiez que tout fonctionne :

php wp-cli.phar --info

Pour utiliser WP-CLI à partir de la ligne de commande en tapant wp, rendez le fichier exécutable et déplacez-le quelque part dans votre PATH. Par exemple :

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Si WP-CLI a été installé correctement, vous devez obtenir le résultat suivant quand vous exécutez wp --info:

$ wp --info
OS:	Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018; root:xnu-3789.73.8~1/RELEASE_X86_64 x86_64
Shell:	/bin/zsh
PHP binary:    /usr/local/bin/php
PHP version:    7.0.22
php.ini used:   /etc/local/etc/php/7.0/php.ini
WP-CLI root dir:        /home/wp-cli/.wp-cli/vendor/wp-cli/wp-cli
WP-CLI vendor dir:	    /home/wp-cli/.wp-cli/vendor
WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/
WP-CLI global config:   /home/wp-cli/.wp-cli/config.yml
WP-CLI project config:
WP-CLI version: 2.4.0

Mise à jour

Vous pouvez mettre à jour WP-CLI avec la commande wp cli update (doc), ou en répétant les étapes d’installation.

Vous voulez vivre dangereusement ? Exécutez wp cli update --nightly pour installer les derniers nightly build de WP-CLI. Un nightly build est relativement stable pour être utilisé dans votre environnement de développement et inclut toujours les fonctionnalités de WP-CLI les plus récentes.

Tab completions

WP-CLI contient des scripts d’autocomplétion pour Bash et ZSH. Il suffit de télécharger wp-completion.bash et de l’importer dans votre fichier ~/.bash_profile:

source /FULL/PATH/TO/wp-completion.bash

Si vous voulez l’utiliser directement sans redémarrer votre session de terminal, n’oubliez pas de lancer source ~/.bash_profile.

Si vous utilisez le shell zsh, vous devrez probablement charger et démarrer bashcompinit avant d’utiliser la commande source. Ajouter ces lignes dans votre fichier .zshrc:

autoload bashcompinit
bashcompinit
source /FULL/PATH/TO/wp-completion.bash

Soutien

Les mainteneurs de WP-CLI et les contributeurs du projet font de leur mieux pour répondre à tous les nouveaux tickets en temps opportun. Pour utiliser au mieux leur temps bénévole, merci de vérifier s’il n’existe pas déjà une réponse à votre question dans l’une des ressources suivantes :

Si vous n’arrivez pas à trouver une réponse en utilisant un de ces liens :

Les tickets Github, permettent de suivre l’évolution des bugs et améliorations sur les commandes existantes. Ils ne sont pas utilisés pour faire du soutien. Avant de soumettre un nouveau rapport de bug, merci de passer en revue nos bonnes pratiques pour vous assurer que votre ticket les respecte.

Merci de ne pas demander du soutien sur Twitter. Twitter n’est pas un endroit convenable pour faire du soutien : 1) c’est compliqué d’avoir une conversation en aussi peu de caractères et 2) Twitter n’est pas un endroit où quelqu’un avec la même question peut chercher et obtenir une réponse avant de la poser à nouveau.

Souvenez-vous, libre != gratuit ; la licence open source vous donne la liberté d’utiliser et modifier, mais pas au dépend du temps d’autres personnes. Merci d’être respectueux et de définir vos attentes en conséquence.

Étendre

Une commande est une unité atomique de fonctionnalité WP-CLI. wp plugin install (doc) est une commande. wp plugin activate (doc) en est une autre.

WP-CLI permet d’enregistrer n’importe quelle classe, fonction ou closure comme une commande. Les informations d’utilisation sont lues à partir du bloc PHPdoc de la fonction de rappel. WP_CLI::add_command() (doc) est utilisé aussi bien pour l’enregistrement des commandes internes ou externes.

/**
 * Delete an option from the database.
 *
 * Returns an error if the option didn't exist.
 *
 * ## OPTIONS
 *
 * <key>
 * : Key for the option.
 *
 * ## EXAMPLES
 *
 *     $ wp option delete my_option
 *     Success: Deleted 'my_option' option.
 */
$delete_option_cmd = function( $args ) {
    list( $key ) = $args;

    if ( ! delete_option( $key ) ) {
        WP_CLI::error( "Could not delete '$key' option. Does it exist?" );
    } else {
        WP_CLI::success( "Deleted '$key' option." );
    }
};
WP_CLI::add_command( 'option delete', $delete_option_cmd );

WP-CLI est livré avec des douzaines de commandes. Il est plus facile qu’il n’y parait de créer vos propres commandes WP-CLI. Lisez le commands cookbook pour en apprendre davantage. Parcourez la documentation sur l’API interne pour découvrir une variété de fonctions utiles que vous pouvez utiliser dans votre commande WP-CLI personnalisée.

Contribuer

Bienvenue et merci !

Nous apprécions que vous preniez l’initiative de contribuer à WP-CLI. C’est grâce à vous et à la communauté autour de vous que WP-CLI est un projet aussi important.

Contribuer n’est pas limité uniquement à l’écriture de code. Nous vous encourageons à contribuer de la façon qui vous correspond le mieux, en écrivant des tutoriels, en faisant des démonstrations dans votre groupe d’utilisateurs local, à aider les autres avec leurs questions de soutien, ou en relisant notre documentation.

Merci de prendre un moment pour lire le guide du contributeur en profondeur. Suivre ces règles aide à communiquer avec le respect du temps des autres contributeurs du projet. En retour, ils feront de leur mieux pour travailler avec ce même respect, à travers les fuseaux horaires et dans le monde lorsque vous en aurez besoin.

Leadership

WP-CLI est dirigé et maintenu par : schlessera.

À l’occasion, il arrive que certains contributeurs reçoivent des accès plus permissifs après avoir démontré leurs capacités et leur temps investis dans le projet.

Pour en savoir plus sur la gouvernance (en) du projet et voir la liste complète des contributeurs.

Crédits

Derrière les librairies définies dans le fichier composer.json, nous avons utilisé du code et des idées venant des projets suivants :