WP-CLI v0.22.0 發行說明

Wpcli logo

2016年快樂!在我深入研究RESTful CLI專案之前,我想您可能會喜歡一個新的WP-CLI版本。

使用wp cli update來安裝v0.22.0,包括137個已解決的問題和拉取請求。以下是新的功能。

搜尋替換,用於愛和利潤

上個月,Pantheon慷慨贊助了15小時的我的時間,以解決一些長期積壓的錯誤,並進行一些重大增強。

讓我們從好訊息開始:

  • 效能提升!現在,WP-CLI只執行一次MYSQL LIKE語句,而不是每1000行執行一次 [#2304]。在一個大約350萬行的帖子meta表中,其中有75,610行受影響,這一更改將執行時間從734.926秒提高到225.509秒(快了3.3倍)。
  • 使用--export=<filename>引數來建立轉換後的資料的SQL檔案,而不是對資料庫進行更新 [#2254]。當您希望為新環境準備資料庫而無需匯入然後執行搜尋替換時,這是一個有用的功能。
  • 可以在表名中使用萬用字元 [#2233]。使用wp search-replace <old-string> <new-string> '*meta*'來搜尋替換隻是帶有meta的表。注意:模式需要用引號引起來,因為*在Bash中是一個特殊字元。

我還解決了許多搜尋替換錯誤和小的增強功能:

  • 預設情況下,在替換序列化資料內部時遞迴物件 [#2222]。除其他功能外,這可以確保主題修改按預期進行轉換。您可以使用--no-recurse-objects來停用此行為。但是,如果您停用了此行為,我希望能聽到您的意見。我認為這是一個可以在以後刪除的不必要選項。
  • 正確轉義用於搜尋或替換字串的引號 [#2230]。
  • 告知使用者在執行搜尋替換過程後重新整理持久物件快取 [#2236]。
  • 當替換字串與搜尋字串相同時,提前退出 [#2235]。
  • 在使用--verbose執行搜尋/替換時指示執行時間 [#2242]。
  • 當沒有需要替換時,防止不必要的呼叫$wpdb->update() [#2245]。
  • 在正規表示式模式下去除不必要的REGEXP查詢 [#2305]。

受支援版本的更改

WP-CLI的最低受支援的WordPress版本現在是3.7 [#2261]。

我們還正式支援PHP 7 [#2330]。

v0.22.0中的其他一切

wp scaffold (plugin|plugin-tests)的改進:

  • 透過僅在分支的初始構建失敗時傳送電子郵件通知來減少Travis的噪音 [#2194]。
  • Plugin的header遵循WordPress的PHPDoc標準 [#2197]。
  • 向PHPUnit配置檔案新增.dist副檔名,以允許使用本地配置檔案進行覆蓋 [#2247]。
  • 解析readme.txt以查詢用作Travis測試版本的WordPress版本 [#2255]。
  • 包括預設的.gitignore [#2297]。

現有命令的新標誌:

  • wp core update --minor僅執行小更新 [#2256]。
  • wp (post|comment|user) meta delete <id> --all刪除給定物件上的所有後設資料值 [#2265]。
  • wp core update-db --dry-run檢視是否需要升級資料庫 [#2293]。
  • wp media regenerate --only-missing用於在包含大量影像的站點上提供更快的效能,其中僅有少量缺少大小的影像 [#2292]。
  • wp cron event run --all執行所有已註冊的cron事件 [#2323]。
  • wp site empty --uploads清空站點並刪除其上傳目錄[#2339]。
  • wp core install --skip-email在沒有電子郵件通知的情況下安裝[#2345]。
  • wp transient (get|set|delete) --network用於管理站點短時儲存[#2351]。

框架增強:

  • 在比較WordPress版本時引入wp_version_compare() [#2237]。SVN和Git標籤在$wp_version中包括-src,這是version_compare()不喜歡的。
  • 在設定時推遲使用$PAGER環境變數[#2264]。
  • 向專案引入composer.lock檔案,以修復對特定雜湊的依賴關係[#2280]。
  • 透過全域性化wp-config.php中定義的任何新變數,因為它們預計是全域性的[#2318]。
  • 如果缺少--require=<file>,則指定缺失檔案引用位置的上下文,以便更容易進行除錯[#2336]。
  • 使用mustangostang/spyc而不是捆綁我們自己的副本[#2350]。Spyc類仍然在全域性名稱空間中可用。
  • 引入WP_CLIUtilsget_temp_dir()以獲取更安全的臨時目錄[#2353]。

其他命令的改進:

  • 在建立自定義taxonomy時包括not_found標籤[#2196]。
  • 允許在檔名中不包含.zip的情況下安裝遠端外掛檔案[#2193]。
  • 在將使用者新增為超級管理員時,警告如果使用者已經是超級管理員[#2202]。
  • wp import中使用WP_CLI::log()而不是WP_CLI::line(),因此尊重--quiet標誌[#2234]。
  • 為萬用字元表(wp db tables)(例如*meta*),--all-tables-with-prefix--format=csv增加支援[#2250]。
  • 在安裝外掛或主題時,資源未找到時改進錯誤訊息[#2253,#2267]。
  • 使用--filename_format=<format>支援自定義wp export檔名格式[#2230]
  • 假設在wp install期間出現資料庫錯誤,這是安裝失敗,並相應地報告[#2337]。
  • wp scaffold plugin時在執行時公開外掛標頭詳細資訊[#2338]。
  • wp scaffold package-tests中包括ci/behat-tags.php檔案[#2342]。

全面的錯誤修復:

  • 在檢測到WP但未安裝時允許help提前執行(例如,wp core config --help) [#2190]。該錯誤是在v0.20.0中引入的。
  • 在建立child theme時,為子主題的enqueue函式建立父主題slug的安全版本[#2203]。以前,如果父slug包括破折號,將生成無效的enqueue函式。
  • 在查詢wp-config.php並啟用PHP的open_basedir時抑制錯誤通知[#2211]。
  • 修復了WP_CLILoggersQuiet中的錯誤通知[#2210]。
  • 在custom post type scaffolding中修復了all_items標籤[#2213]。
  • 確保在下載夜間WP-CLI Phar構建時,實際下載的是夜間版本,而不是重定向[#2214]。
  • 在安裝multisite時,將upload_space_check_disabled設定為1。這與新安裝上的core行為相符。
  • 在影像重生失敗時提供更有幫助的訊息[#2239]。
  • 在刪除父項時正確更新選單子項父項[#2262]。
  • 在使用wp rewrite structure時停止在重寫規則字首中新增index.php [#2279]。
  • wp transient set簡介中修復拼寫錯誤[#2282]。
  • 為非美國英語區域恢復wp core verify-checksums支援[#2287]。該錯誤是在v0.21.0中引入的。
  • 在可用時,切換到readline庫,以更好地支援使用--prompt的箭頭鍵[#2325]。
  • WP_CLIFormatter在物件上適當檢查null值[#2322]。
  • wp media import中,使用主機而不是方案來確定檔案是遠端還是本地,以支援Windows[#2324]。
  • 確保在指定無效的--version=<version>的情況下更新外掛時不會刪除外掛[#2346]。

該版本的貢獻者包括:2ndkauboy, coreyworrell, danielbachhuber, davidleach, duncanjbrown, ernilambar, fjarrett, gilbitron, greg-1-anderson, iandunn, jjeaton, modelm, rodrigoprimo, ryanshoover, stevector, szepeviktor, tristanpenman, x1024。

您可以在Github上檢視所有已解決問題的完整列表。

文章目錄



發表評論

發表回覆

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