WP-CLI v0.21.0 發行說明

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

正如你們中的許多人所知,我在星期一晚上啟動了一項 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

文章目錄



發表評論

發表回覆

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