我使用了很棒的WP-CLI工具。由于特定用例依赖于Apache环境变量,因此我需要启用一些代码才能仅在WP-CLI下运行。如何检测WP是否在WP-CLI下运行?

在这种特定情况下,我可以检查是否存在相关的Apache环境变量。但是,我想知道更通用的规范检查方法。谢谢。

#1 楼

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_CLIWP_CLI_VERSION

评论


WP_CLI是首选检查常量

–丹尼尔(Daniel Bachhuber)
16年5月10日在11:55

感谢您的评论-是的,而且简短得多,只是想知道其他可能性;-) @DanielBachhuber

–birgire
16年5月10日在12:27



@dotancohen您应该考虑接受Ryan McCue的回答,因为它明确显示了如何检查它。

–birgire
16年5月10日在14:20



@birgire,请问您在此处查看与自定义字段相关的问题:wordpress.stackexchange.com/questions/265852/…吗?

–艾斯提克·艾哈迈德(Istiaque Ahmed)
17年5月4日在19:36

#2 楼

在大多数插件中使用并在文档中明确提到的WP-CLI的规范检查是检查WP_CLI是否已定义并设置为true:
if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI specific things.
}