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

16

J'utilise le merveilleux outil WP-CLI . En raison de la dépendance vis-à-vis des variables d’environnement Apache pour un cas d’utilisation spécifique, je dois autoriser l’exécution d’un peu de code uniquement lorsqu’elle s’exécute sous WP-CLI. Comment savoir si WP est exécuté sous WP-CLI?

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

    
posée dotancohen 10.05.2016 - 11:25

2 réponses

18

Dans la php/wp-cli.php nous 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_CLI ou WP_CLI_VERSION sont définis.

    
réponse donnée birgire 10.05.2016 - 11:45
16

La vérification canonique de WP-CLI utilisée dans la majorité des plugins et mentionnée spécifiquement dans la documentation est de vérifier que WP_CLI est défini et défini sur true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
    
réponse donnée Ryan McCue 10.05.2016 - 13:08

Lire d'autres questions sur les étiquettes