Определить, работает ли WordPress под управлением WP-CLI

10 мая 2016 г., 12:25:24
Просмотры: 14.1K
Голосов: 30

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

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

0
Все ответы на вопрос 2
0
41

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

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Выполняем действия, специфичные для WP-CLI.
}
10 мая 2016 г. 14:08:58
4
40

В файле php/wp-cli.php мы находим следующие строки:

// Может использоваться плагинами/темами для проверки, запущен ли WP-CLI или нет
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.

10 мая 2016 г. 12:45:51
Комментарии

WP_CLI — это предпочтительная константа для проверки

Daniel Bachhuber Daniel Bachhuber
10 мая 2016 г. 14:55:10

Спасибо за комментарий — да, и к тому же гораздо короче, просто интересовался другими возможностями ;-) @DanielBachhuber

birgire birgire
10 мая 2016 г. 15:27:41

@dotancohen вам стоит принять ответ Ryan McCue, так как он явно показывает, как это проверить.

birgire birgire
10 мая 2016 г. 17:20:29

@birgire, могу я попросить вас взглянуть на вопрос, связанный с пользовательскими полями, здесь: https://wordpress.stackexchange.com/questions/265852/set-and-unset-the-custom-field-value ?

Istiaque Ahmed Istiaque Ahmed
4 мая 2017 г. 22:36:05