Определить, работает ли WP под WP-CLI

22

Я использую замечательный инструмент WP-CLI . Из-за зависимости от переменных среды Apache для конкретного случая использования мне нужно разрешить запускать немного кода только при работе под WP-CLI. Как я могу определить, работает ли WP под WP-CLI?

В этом конкретном случае я мог проверить наличие переменных среды Apache, о которых идет речь. Тем не менее, я хотел бы знать более общий, канонический метод проверки. Спасибо.

dotancohen
источник

Ответы:

24

Внутри php/wp-cli.phpмы находим эти строки:

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

так что вы можете проверить, если WP_CLIили WP_CLI_VERSIONопределены.

birgire
источник
7
WP_CLIявляется предпочтительной константой для проверки
Даниэль Бачхубер
Спасибо за комментарий - да, и также намного короче, просто интересовался другими возможностями ;-) @DanielBachhuber
birgire
@dotancohen, вы должны принять ответ Райана Маккуа, поскольку он показывает, как его проверить.
Биргире
@birgire, могу я попросить вас взглянуть на вопрос, связанный с пользовательским полем, здесь: wordpress.stackexchange.com/questions/265852/… ?
Истак Ахмед
26

Каноническая проверка WP-CLI, используемая в большинстве плагинов и специально упомянутая в документации, заключается в проверке WP_CLI, определена и установлена ​​ли она в true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}
Райан МакКью
источник