Détecter si WP s'exécute sous WP-CLI


22

J'utilise le merveilleux outil WP-CLI . En raison de la dépendance des variables d'environnement Apache pour un cas d'utilisation spécifique, je dois activer un peu de code pour qu'il s'exécute uniquement lors de l'exécution sous WP-CLI. Comment puis-je détecter si WP fonctionne sous WP-CLI?

Dans ce cas précis, j'ai pu vérifier la présence des variables d'environnement Apache en question. Cependant, je voudrais connaître la méthode canonique plus générale à vérifier. Merci.

Réponses:


24

Dans le php/wp-cli.phpnous trouvons ces lignes:

// Can be used by plugins/themes to check if WP-CLI is running or not
define( 'WP_CLI', true );
define( 'WP_CLI_VERSION', trim( file_get_contents( WP_CLI_ROOT . '/VERSION' ) ) );
define( 'WP_CLI_START_MICROTIME', microtime( true ) );

afin que vous puissiez vérifier si WP_CLIou WP_CLI_VERSIONsont définis.


7
WP_CLIest la constante préférée à vérifier
Daniel Bachhuber

Merci d'avoir commenté - oui et aussi beaucoup plus court, je me demandais juste d'autres possibilités ;-) @DanielBachhuber
birgire

@dotancohen, vous devriez plutôt envisager d'accepter la réponse de Ryan McCue, car elle montre explicitement comment la vérifier.
birgire

@birgire, puis-je vous demander de jeter un œil à une question liée au champ personnalisé ici: wordpress.stackexchange.com/questions/265852/… ?
Istiaque Ahmed

26

La vérification canonique pour WP-CLI utilisée dans la majorité des plugins et spécifiquement mentionnée dans les documents est de vérifier qu'elle WP_CLIest définie et définie sur true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.