WP-CLI v1.0.0 發行説明

喔耶!

在過去的五年多時間裏,數百名貢獻者共同努力,為您帶來了 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 上查看已解決問題的完整列表。

文章目錄



發表評論

發表回覆

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