问题描述
我使用了精彩的 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_CLI
或 WP_CLI_VERSION
。
次佳解决方案
在大多数插件中使用的 WP-CLI 的规范检查特别提到了 in the docs 是检查 WP_CLI
是否被定义并设置为 true:
if ( defined( 'WP_CLI' ) && WP_CLI ) {
// Do WP-CLI-specific things.
}
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。