问题描述

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

在这种具体情况下,我可以检查有问题的 Apache 环境变量的存在。但是,我想知道更一般的,规范的检查方法。谢谢。

最佳解决方案

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 的规范检查特别提到了 in the docs 是检查 WP_CLI 是否被定义并设置为 true:

if ( defined( 'WP_CLI' ) && WP_CLI ) {
    // Do WP-CLI-specific things.
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。