Wykryj, czy WP działa pod WP-CLI

22

Korzystam ze wspaniałego narzędzia WP-CLI . Ze względu na zależność od zmiennych środowiskowych Apache dla konkretnego przypadku użycia, muszę włączyć trochę kodu, aby działał tylko podczas działania w WP-CLI. Jak mogę sprawdzić, czy WP działa pod WP-CLI?

W tym konkretnym przypadku mogłem sprawdzić obecność zmiennych środowiskowych Apache, o których mowa. Chciałbym jednak poznać bardziej ogólną, kanoniczną metodę sprawdzania. Dziękuję Ci.

dotancohen
źródło

Odpowiedzi:

24

Wewnątrz php/wp-cli.phpznajdziemy następujące linie:

// 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 ) );

więc możesz sprawdzić, WP_CLIczy WP_CLI_VERSIONsą zdefiniowane.

birgire
źródło
7
WP_CLIjest preferowaną stałą do sprawdzenia
Daniel Bachhuber
Dzięki za komentowanie - tak, a także znacznie krótsze, zastanawiałem się nad innymi możliwościami ;-) @DanielBachhuber
pies
@dotancohen powinieneś rozważyć zaakceptowanie odpowiedzi przez Ryana McCue, ponieważ wyraźnie pokazuje, jak to sprawdzić.
birgire,
@ Birgire, czy mogę prosić o spojrzenie na niestandardowe pytanie związane z polem tutaj: wordpress.stackexchange.com/questions/265852/... ?
Istiaque Ahmed
26

Sprawdzanie kanoniczne WP-CLI używane w większości wtyczek i wyraźnie wspomniane w dokumentacji jest sprawdzanie, WP_CLIjest zdefiniowane i ustawione na true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
Ryan McCue
źródło