# WP-CLI v0.21.0  發行説明

*Published:* 2015-11-04
*Author:* 殼殼蟲

這周已經相當瘋狂，還只是星期三。

正如你們中的許多人所知，我在星期一晚上啓動了一項 Kickstarter 眾籌活動：更加 RESTful 的 WP-CLI[2](#0d20be9d)。令人難以置信的是，它在不到12小時內就完成了100%的籌款。點擊鏈接查看有關我將在2016年初開展的更多詳細信息。

但是，我有一個更加**重要的説明**，涉及支持的 WordPress 版本：

- WP-CLI v0.22.0（下一個版本）將將最低支持的 WordPress 版本從3.5提高到3.7（背景信息）。
- WP-CLI版本在0.20.3之前將與WordPress 4.4不兼容（背景信息）。

這個重要説明可能與您有關，請相應採取行動。

WP-CLI v0.21.0解決了109個問題和拉取請求。以下是新內容。

### 使用`WP_CLI::get_runner()->load_wordpress();`加載WordPress

現在，您可以通過將`@when before_wp_load`添加到您的命令文檔來在WordPress加載之前運行WP-CLI命令一段時間了。現在，您可以使用相同的命令加載WordPress。

查看`wp eval`如何使用`WP_CLI::get_runner()->load_wordpress()`：

```
class Eval_Command extends WP_CLI_Command {

    /**
     * 執行任意的PHP<sup class="fn" data-fn="767c1e36"><a href="#767c1e36" id="767c1e36-link">3</a></sup>代碼。
     *
     * &lt;php-code&gt;
     * : 要執行的代碼，作為字符串。
     *
     * [--skip-wordpress]
     * : 在不加載WordPress的情況下執行代碼。
     *
     * @when before_wp_load
     *
     * ## 示例
     *
     *     wp eval 'echo WP_CONTENT_DIR;'
     */
    public function __invoke( $args, $assoc_args ) {
        if ( null === Utilsget_flag_value( $assoc_args, 'skip-wordpress' ) ) {
            WP_CLI::get_runner()->load_wordpress();
        }
        eval( $args[0] );
    }
}

```

使用`wp eval --skip-wordpress `來執行`PHP`而不加載WordPress。或者，使用`wp eval-file --skip-wordpress `，例如，執行一個快速而不需要WordPress安裝的髒髒髒髒髒髒。

類似地，當您使用`wp core verify-checksums`與`--version=`時，WP-CLI將檢查以確保`core`文件未被修改，而無需加載WordPress。

創建這個新功能幾乎就像更換行駛中的汽車引擎。

### 使用`--debug`獲得更多詳細信息

當您提供`--debug`標誌時，您將獲得更多關於WP-CLI執行您的命令的上下文信息。

之前：

```
$ wp option get home --debug
http://wordpress-test.dev

```

之後：

```
$ wp option get home --debug
Debug: 使用默認全局配置：/home/vagrant/.wp-cli/config.yml（0.026s）
Debug: 未找到項目配置（0.027s）
Debug: 從配置中獲取所需文件：/srv/www/wp-rest-cli/wp-rest-cli.php（0.059s）
Debug: 定義了ABSPATH：/srv/www/wordpress-test.dev/（0.06s）
Debug: 開始加載WordPress（0.063s）
Debug: wp-config.php路徑：/srv/www/wordpress-test.dev/wp-config.php（0.065s）
Debug: 設置URL<sup class="fn" data-fn="7a49a331"><a href="#7a49a331" id="7a49a331-link">4</a></sup>：wordpress-test.dev/（0.066s）
Debug: 已加載WordPress（0.515s）
Debug: 正在運行命令：option get（0.516s）
http://wordpress-test.dev

```

通過在關鍵檢查點包含`WP_CLI::debug( $debug_message );`，可以使您的命令更加有幫助。

### v0.21.0的其他變化

增強功能：

- 使用`wp core update-db --network`來升級整個網絡中的數據庫；還通過提供`from`和`to`數據庫版本來改善此命令的詳細程度。
- 添加`wp comment recount`命令以重新計算文章的評論數。
- 包括`wp taxonomy list`、`wp taxonomy get`、`wp post-type list`和`wp post-type get`以獲取關於已註冊的分類和文章類型的詳細信息。
- 使用`wp post update`或`wp post delete`時，使用`--defer-term-counting`在操作結束時重新計算術語計數，以提高性能。
- 在使用無效的plugin slug運行`wp scaffold plugin-tests`時返回更有用的錯誤消息。
- 在`wp theme list`中，通過設置`status=parent`來表示父母主題。這更清晰地區分了真正不活動的主題與被用作父母主題的“不活動”主題。
- 嘗試在multisite安裝上使用`wp rewrite flush --hard`時顯示錯誤消息，因為WordPress不為多站點安裝生成`.htaccess`文件。
- 允許`wp core download`使用`--path`，即使檢測到WP。這允許自定義WP-CLI命令在現有WP安裝範圍內從子目錄下載WP。
- 為`wp export`添加`--post_type__not_in`參數，現在可以生成一個不包括`feedbacks`等內容的導出文件。
- 支持使用`wp export --post__in`的空格分隔的ID。這使得更容易傳遞`wp post list --format=ids`返回的ID。
- 在使用`wp scaffold plugin`時包括一個`.editorconfig`。
- 新生成的`install-wp-tests.sh`文件支持`$WP_VERSION=trunk`或`$WP_VERSION=nightly`，以便對WordPress trunk運行您的插件測試。
- 在`wp core multisite-convert`中，當`wp-config.php`不可寫時為用户提供更有用的錯誤消息。
- 當無效的子命令具有有效的父命令時，為用户提供更有幫助的錯誤消息。
- 在警告並要求確認後，支持在由APC緩存支持的WordPress實例上使用WP-CLI。
- 如果WP-CLI是較大的Composer[1](#07129516)項目的一部分，則sniffs出自定義供應商路徑。
- 不再需要通用參數`wp post create`和`wp comment create`，可以在不提供標題等信息的情況下使用這些命令。
- 接受沒有右側數據的關聯參數。
- 在查找具有`wp cli update`的PHP二進制文件時，耗盡所有可能的選項。以前，WP-CLI會嘗試直接調用`php`，但在PHP未公開為這樣的系統上會失敗。
- 根據WordPress版本，接受`wp_new_user_notification()`的棄用第二個參數。

您可以在Github上瀏覽已解決問題的完整列表。

此版本的貢獻者：aaemnnosttv、borekb、danielbachhuber、gmcinnes、JRGould、johnbillion、kraftbj、miya0001、ntwb、rodrigoprimo、rmccue szepeviktor、torounit、voldemortensen、ypid

### 名詞解釋

1. Composer：PHP 的依賴管理工具 [↩︎](#07129516-link)
2. WP-CLI：WordPress 的命令行管理工具 [↩︎](#0d20be9d-link)
3. PHP：WordPress 核心使用的服務端編程語言 [↩︎](#767c1e36-link)
4. URL：統一資源定位符，即網址 [↩︎](#7a49a331-link)
<!-- WP Chinese Converter Full Page Converted. Target Lang: zh-hk -->