問題描述

我使用了精彩的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。