WP-CLI v1.0.0 發行說明

Wpcli logo

喔耶!

在過去的五年多時間裡,數百名貢獻者共同努力,為您帶來了WP-CLI v1.0.0,我今天很自豪地宣佈。

這個版本代表了很少有開源專案能夠達到的成熟水平。它也標誌著一個過渡時刻。WP-CLI 專案將把重心轉向WP-CLI軟體包生態系統,在那裡它將透過構建和鼓勵新功能作為獨立軟體包來推動創新。我們希望這種方法將促進更快的迭代和更多的創造力,並更可持續地分擔維護負擔。隨著這些社群軟體包的成功,我們將把它們的經驗帶回WP-CLI,同時修復錯誤和進行小的增強。

現在問題積壓已經清零,我個人期待著為我的自己的WP-CLI創新工作室runcommand做更多的創意。

本週去費城嗎?我將出席Post Status Publish和WCUS(儘管只到週五下午)。打個招呼吧 – 我在Twitter上是@danielbachhuber。

接下來,讓我們繼續…

介紹WP_CLI::runcommand()

WP_CLI::runcommand()(檔案)是從WP-CLI命令中執行WP-CLI命令的新方法。就好像WP_CLI::run_command()WP_CLI::launch_self()成長起來、結婚並生下了完美的孩子。

使用WP_CLI::runcommand(),您可以:

  • 啟動新的子程式(預設),或重用現有程式。
  • 可選擇在錯誤時防止程式退出。
  • 返回由命令生成的標準輸出(STDOUT),或所有命令執行細節(STDOUT、STDERR、return_code)作為物件。
  • 可選擇將捕獲的STDOUT解析為JSON。

相關的拉取請求包括:#3605,#3619,#3621。

重大變更:部分批次操作失敗時使用返回碼1

某些命令支援對多個資源執行相同的操作(例如,使用wp plugin update akismet hello更新兩個或更多外掛)。以前,如果其中一個操作失敗(例如,plugin更新未能下載),WP-CLI將顯示警告,繼續執行,並以返回碼0退出。從v1.0.0開始,當一個或多個操作失敗時,WP-CLI將使用返回碼1。

更多背景和原因,請參見此問題。

受影響的命令包括:

  • wp media (regenerate|import)
  • wp menu delete
  • wp menu item delete
  • wp plugin (install|activate|update|toggle|deactivate|uninstall|delete)
  • wp super-admin add
  • wp theme (install|update)
  • wp term delete
  • wp widget (delete|deactivate|reset)

在您的自定義WP-CLI命令中使用WP_CLIUtilsreport_batch_operation_results()(檔案)更容易支援這種行為。

相關的拉取請求包括:#3584,#3583,#3582,#3585,#3586,#3588。

1.0.0中的其他一切

新命令:

  • wp package update – 更新所有已安裝的WP-CLI軟體包到它們的最新版本。
  • wp scaffold theme-tests – 為主題建立PHPUnit測試腳手架。

命令改進:

  • wp cache type:
    • 支援WP LCache作為快取型別[#3504]。
  • wp cli aliases:
    • 為更容易訪問新增alias子命令[#3512]。
  • wp cli update:
    • 在更新時驗證發行雜湊值[#3515]。
    • 在以根使用者身份執行時不再需要--allow--root標誌[#3576]。
  • wp core config:
    • 確保WordPress編碼標準應用於生成的wp-config[#3496]。
  • wp core (install|multisite-install)
    • 預設使用隨機生成的密碼--admin_password=<password>,現在是可選的[#3535,#3573]。
  • wp core language (install|update):
    • 快取語言包下載[#3595]。
  • wp core update:
    • CoreUpgrader類中使用全域性名稱空間的WP_Error[#3593]。
  • wp core update-db:
    • 為更新過程設定WP_INSTALLING常量[#3503]。
  • wp package install:
    • 在包composer.json中使用提供的版本,而不是“dev-master”[#3519]。
    • 向包管理器的composer.json新增WP-CLI版本,以優雅地處理WP-CLI版本約束[#3603]。
  • wp package list:
    • 指示有可用更新的包[#3611,#3612]。
  • wp post delete:
    • 在成功訊息中正確指示revisions立即刪除[#3524]。
  • wp scaffold plugin:
    • .gitignore.distignore中忽略分發歸檔檔案[#3520]。
    • .distignore中忽略circle.yml.gitlab-ci.ymlbehat.yml[#3599]。
  • wp scaffold plugin-tests:
    • install-wp-tests.sh中檢出資料目錄,以防止在WP 4.7中出現提示[#3571]。

框架增強:

  • 將基於Composer的依賴項更新為最新版本[#3498,#3525]。
  • 引入--prompt=<assoc>以提示特定的關聯引數,使使用者避免在bash歷史中暴露安全資料[#3531]。
  • 新增對Cygwin附帶的PHP版本的支援[#3591]。

此版本的貢獻者(拉取請求、檔案和軟體包作者):abea、anttiviljami、cobyan、danielbachhuber、diggy、ernilambar、franz-josef-kaiser、greatislander、itspriddle、miya0001、mmcev106、mopquill、ocean90、pj-dave、pkarjala、richardbuff、sommarnatt、szepeviktor、torounit

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

文章目錄



發表評論

發表回覆

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