WP-CLI v0.20.0 發行說明

儘管 WP-CLI 是一個成熟的專案,但我們仍然在每個版本中包含了一系列出色的改進。以下是 v0.20.0 中的新功能:

正規表示式,詳細的搜尋替換

使用--regex標誌來進行wp search-replace,等待……使用正規表示式進行搜尋和替換操作。使用--verbose標誌,您將在操作執行時看到受影響的每一列:

$ wp post get 1 --field=title Hello world $ wp search-replace '(Hello)s(world)' '$2, $1' --regex --verbose ... 检查:wp_posts.post_content 0 行受影响 检查:wp_posts.post_title 1 行受影响 检查:wp_posts.post_excerpt 0 行受影响 ... $ wp post get 1 --field=title world, Hello 

注意:使用--regex進行搜尋替換比不使用要慢 15-20 倍。請確保在您的遷移計劃中考慮效能損耗,並明智地使用。

主要錯誤修復:快取的部分升級檔案偽裝成完整升級

自 v0.17.0 以來 (拉取請求),WP-CLI 錯誤地以有損的方式快取了部分歸檔。更具體地說,部分升級的 ZIP 檔案將與完整升級的 ZIP 檔案具有相同的鍵進行快取。由於檔案錯誤地被快取,隨後的完整升級將使用快取的部分升級存檔。

如果您不能立即升級到 v0.20.0,我們還發布了帶有錯誤修復 (拉取請求) 的 v0.17.2 、 v0.18.1 和 v0.19.3 。快取金鑰也已更改,因此以前的無效 WordPress 存檔會被靜默忽略。

使用wp core verify-checksums來確保給定的 WordPress 安裝具有每個檔案的正確副本。如果驗證失敗,請使用wp core download --version=$(wp core version) --force重新安裝 WordPress 。

WP-API CLI

我們在 v0.19.0 中釋出了以下宣告:

WP-API 距離 2.0-beta1 還有幾天,將為 WordPress 帶來強大的新介面。不久的將來,我們將開始探索 WP-CLI 如何在內部使用 WP-API 。如果一切順利,WP-CLI 可能在大版本 1.0.0 之前釋出一個 0.x.0 版本。

嗯…這是一份大膽的宣告。請關注 danielbachhuber/wp-rest-cli 以獲取實施進展。 1.0.0 仍然很可能是基於 WP-API 的 WP-CLI,但需要進行大量工作才能實現。

有用的一行命令

有一些問題針對 「如何執行 X?」 提出瞭解決方案,您可能也會發現它們很有幫助:

# 列出网络中每个站点的插件 wp site list --field=url | xargs -n 1 -I % wp plugin list --url=%  # 删除不活动的插件 wp plugin delete $(wp plugin list --status=inactive --field=name) 

v0.20.0 的其他更改

增強功能:

  • wp server命令已與 WP-CLI 捆綁在一起。使用 PHP 內建的 Web 伺服器為特定的 WordPress 例項提供服務。
  • 透過使用wp cli update --nightly跟蹤最新的更新。在下載夜間版本時,版本後面會附加雜湊值。
  • 新增了簡單的wp comment generate命令。
  • 在使用wp term generate時,將快取失效推遲到命令的末尾。這可以提高命令的效能。
  • wp term list支援透過--term_id=<term-id>進行過濾。
  • 使用--start_id=<post-id>從給定的帖子 ID 開始wp export,或使用--post_type=<post-type>,<post-type>匯出一組帖子型別。
  • 當在多站點上指定無效的--url=<url>時,引發有用的錯誤。以前,WP-CLI 會靜默失敗,讓使用者對為什麼命令無法執行感到困惑。
  • 使用wp role --clone=<role>從另一個角色建立新角色。
  • 使用--format=summary獲取一行訊息,用於wp (plugin|theme) update
  • 不再使用wp_download_language_pack(),因此可以在設定DISALLOW_FILE_MODS常量的情況下安裝語言。

錯誤修復:

  • wp term generate嘗試在後續執行中生成唯一的術語名稱。以前,它會從0開始索引,然後對重複的術語引發錯誤。
  • 內部化wp_clean_update_cache()(用於wp core language listwp core language update) 以防止在 WordPress 4.0 中引發致命錯誤。該函式是在 WordPress 4.1 中引入的。
  • 檢測到 WordPress 後,WP-CLI 將等待 WordPress 完全載入後執行wp help。這意味著向現有名稱空間新增命令的外掛可以顯示其幫助文件。
  • wp scaffold plugin-tests命令生成的 Travis 通知語法已糾正。
  • 支援在WP_CLIUtilshttp_request()中安裝到父專案中的Requests
  • 透過cli update傳遞--allow-root,以允許根使用者更新 WP-CLI 。
  • 在使用 WP-CLI 選項卡補全後恢復 apt-get 選項卡補全。
  • 允許使用wp post update分配類別。
  • 防止wp import使用實際需要的記憶體的兩倍,並在大型匯入中節省數百 MB 。

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

本次釋出的貢獻者:boonebgorges 、 danielbachhuber 、 janvoracek 、 gedex 、 johnbillion 、 kdoole 、 marcaddeo 、 miya0001 、 montchr 、 morganestes 、 rodrigoprimo 、 rmccue 、 scribu 、 stevegrunwell 、 szepeviktor

發表評論

發表回覆

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