WP-CLI v0.21.0 發行說明

Wpcli logo

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

正如你們中的許多人所知,我在星期一晚上啟動了一項 Kickstarter 眾籌活動:更加 RESTful 的 WP-CLI。令人難以置信的是,它在不到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程式碼。
     *
     * <php-code>
     * : 要執行的程式碼,作為字串。
     *
     * [--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: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來升級整個網路中的資料庫;還透過提供fromto資料庫版本來改善此命令的詳細程度。
  • 新增wp comment recount命令以重新計算文章的評論數。
  • 包括wp taxonomy listwp taxonomy getwp post-type listwp post-type get以獲取關於已註冊的分類和文章型別的詳細資訊。
  • 使用wp post updatewp 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專案的一部分,則sniffs出自定義供應商路徑。
  • 不再需要通用引數wp post createwp 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

文章目錄



發表評論

發表回覆

您的郵箱地址不會被公開。 必填項已用 * 標註