WP-CLI v1.2.0 發行説明

發佈日快樂!

經過 325 個合併的拉取請求,我們很高興地為您帶來 WP-CLI v1.2.0,其中包含了許多增強功能、錯誤修復以及引導重構。

但首先…

我們有一個新的標誌!

即將出現在您附近的筆記本電腦上:

感謝 Chris Wallace 和 Lift UX 團隊的工作,以及所有對我的反饋做出回應的人。

命令抽象到不同的包

我們將項目分解了!

主要的wp-cli/wp-cli倉庫現在只包含框架本身。所有捆綁的命令都可以在單獨的倉庫中找到。例如,wp cache *系列命令現在位於 github.com/wp-cli/cache-command 。

這種抽象提供了一些好處:

  • 在開發時,只對您正在工作的特定組件運行測試,使反饋循環更短。
  • 可以獨立控制和設置各個命令包,為更好的協作提供機會。
  • 可以發佈各個命令的熱修復和中間版本,然後通過內置的包管理器進行更新。
  • 現在測試運行非常快。
  • 當您提交拉取請求時,無需等待兩個小時來運行測試。

對於使用 Composer 的 WP-CLI 用户,您可以像通常貢獻 Composer 依賴關係一樣為包做出改進。使用composer install --prefer-source來安裝 Git 克隆的依賴項。

對於通過 Phar 可下載的 WP-CLI 用户,您可以通過安裝包 (將覆蓋捆綁版本) 來貢獻改進。例如,對於緩存命令,可以使用以下命令:

$ wp package install git@github.com:wp-cli/cache-command.git $ cd $(wp package path wp-cli/cache-command) 

查看 #3728 以瞭解原始歷史。要更好地瞭解底層基礎架構,請閲讀 Alain 關於新的引導機制、管理命令依賴和依賴關係解決機制的帖子。

接下來:貢獻工作流程

包抽象和引導過程的投資是我們改進貢獻工作流程的一部分。

最終,我們希望為項目的貢獻提供:

  • 輕鬆。 雖然瞭解 WP-CLI 代碼庫需要一定的技術知識,但那些能夠為代碼庫做出貢獻的人應該能夠儘量少地增加負擔。
  • 愉快。 改進 WP-CLI 應該是有趣的,有回報的。對於貢獻者來説,這意味着定義明確的入口點、足夠的工作流程文檔、清晰表達的願景、路線圖和決策過程等等。

對於新貢獻者,我們現在有一個 「Good First Issues」 頁面:

對於提交者,我們現在有一個自定義儀表板的開端:

貢獻工作流程的工作是一個持續進行的過程。我們還沒有深入挖掘。

可以期待在構成貢獻者體驗的一些關鍵領域看到很多工作:

  • 明確決策過程,將想法轉化為新命令。我們需要找出如何可持續地將想法轉化為維護的包。
  • 通過文檔、工具和流程改進新提交者的入職流程。閲讀提交者信仰以更好地瞭解我們的期望。

在我們的每週辦公時間或 WordCamp Europe 期間加入對話,時間為 2017 年 4 月 26 日星期三 GMT+8 上午 12:00 。

新命令

想要檢查您的wp-config.php是否正常?使用wp config get列出wp-config.php中定義的常量和全局變量 [#9]

$ wp config get --fields=key,value +--------------------+-----------------+ | key                | value           | +--------------------+-----------------+ | table_prefix       | wp_             | 

不想記住wp-config.php在文件系統中的位置?使用wp config path來獲取wp-config.php的路徑 [#7]

# 在您的编辑器中编辑 wp-config.php 。 $ vim $(wp config path) 

想知道您的數據庫有多重?運行wp db size來獲取數據庫和其表的大小 [#16]

$ wp db size --tables +-----------------------+--------+ | Name                  | Size   | +-----------------------+--------+ | wp_users              | 64 KB  | | wp_usermeta           | 48 KB  | | wp_posts              | 4 MB   | | wp_comments           | 2 MB   | | wp_links              | 32 KB  | | wp_options            | 1 MB   | | wp_postmeta           | 8 MB   | | wp_terms              | 416 KB | | wp_term_taxonomy      | 336 KB | | wp_term_relationships | 736 KB | | wp_termmeta           | 48 KB  | | wp_commentmeta        | 2 MB   | +-----------------------+--------+ 

v1.2.0 中的其他一切

命令改進

  • wp core install
    • 為管理員用户生成 18 字符的密碼 [#4002] 。
  • wp cron event run
    • 僅在使用--due-now傳遞$args時運行指定的事件 [#11] 。
  • wp db *
    • 在調用MySQL可執行文件時,使用/usr/bin/env mysql而不是mysql[#14] 。
  • wp db (drop|reset)
    • wp db dropwp db reset命令的確認提示中顯示數據庫名稱 [#12] 。
  • wp db export
    • 在導出數據庫時添加--exclude_tables=<tables>選項 [#20] 。
  • wp db import
    • 通過禁用自動提交和 (唯一和外鍵) 鍵檢查來加速導入過程 [#3829] 。
  • wp language core install
    • 即使語言已安裝,也會處理--activate標誌 [#3851] 。
  • wp language core (install|uninstall)
    • 允許一次安裝或卸載多種語言 [#4, #5] 。
  • wp media import
    • 以多種方式改進錯誤處理 [#3755] 。
  • wp media regenerate
    • 在重新生成時刪除現有的 PDF 預覽圖像 [#3824] 。
    • 修復當圖像尺寸小於註冊的圖像尺寸時的媒體重新生成 [#5] 。
    • 添加--image_size=<size>以重新生成特定圖像大小 [#9] 。
  • wp menu location assign
    • 增加了詳細程度和錯誤報告 [#3852] 。
  • wp package *
    • 修復了在 Windows 下從get_composer_json_path()返回的路徑 [#11] 。
  • wp plugin install
    • 在從 GitHub 原始 ZIP URL 安裝時禁用重命名行為 [#3823] 。
  • wp plugin update
    • 引入了--minor--patch標誌,以限制基於語義版本的更新 [#13] 。
    • 插件更新失敗時顯示正確的錯誤 [#3803] 。
  • wp (plugin|theme) update
    • 添加--exclude=<name>參數以排除更新插件或主題 [#16] 。
  • wp post term *
    • 引入了--by=id參數以顯式處理術語作為 ID[#3896] 。
    • 基於術語計數來複數化消息 [#3898] 。
  • wp rewrite *
    • 在使用--skip-plugins--skip-themes管理重寫時,警告用户,因為重寫可能會丟失 [#3917] 。
  • wp scaffold (child-theme|_s)
    • 包括基於 WordPress 編碼標準的默認.editorconfig[#3902] 。
  • wp scaffold plugin-tests
    • .travis.ymlcircle.yml 進行了多項改進 [#3919] 。
    • .travis.yml 中緩存 Composer [#3816] 。
    • PHP 5.* 安裝 PHPUnit 4.8.*,為其他版本安裝 PHPUnit 5.7.* [#6] 。
    • circle.yml 中測試 PHP 7 版本 [#16] 。
  • wp server:
    • 允許使用環境變量定義特定的 PHP 二進制文件 [#3868] 。
  • wp user create:
    • 為新用户生成 24 位密碼 [#7] 。
  • wp user import-csv:
    • 在更新用户時禁用 core 的電子郵件通知 [#3904] 。

框架增強

  • 現在 WP-CLI 可以與 Symfony 3.x 組件一起使用,而且無需破壞向後兼容性 [#4067] 。
  • 新增 hooks:
    • before_add_command:<parent command> 允許您在添加命令之前檢查運行時要求
    • after_add_command:<parent command> 允許您在觸發特定父命令之前依賴於父命令 [#4033] 。
  • 自動命令依賴解析。如果子命令依賴於尚未註冊的父命令,那麼將延遲添加子命令,直到父命令可用 [#4094] 。
  • 拼寫建議。如果您輸入命令時出現拼寫錯誤,WP-CLI 現在足夠智能,會建議您可能想要輸入的內容,並建議這些更正的拼寫。這有助於發現和解決錯誤。拼寫建議適用於命令、參數和別名 [#4004,#4008,#4109] 。
  • 默認情況下,幫助文檔每行不超過 80 個字符。以前也有自動換行,但不一致,所以經常出現問題 [#4105] 。
  • 多種測試框架改進:
    • 在子目錄路徑中替換變量 [#4085] 。
    • 安全地強制刪除 RUN_DIR,以確保 Behat 不會在清理時掛起 [#4112] 。
    • 以跨平台兼容的方式終止所有啓動的後台進程 [#4074] 。
    • 僅在 WP_VERSION 不是 「latest」 或 「nightly」 時應用 @require-wp 標籤,以確保在這些上下文中運行完整的測試套件 [#4055] 。

本次發佈的貢獻者 (總共 43 位): 1naveengiri,aaemnnosttv,afragen,balbuf,behzod,carl-alberto,CodeProKid,danielbachhuber,davgothic,diablodale,diggy,dnmvisser,fjarrett,flaskboy,geekoun,gitlost,hason,JayWood,jeremyfrady,ka7,kcarwilemiller,lichtscheu,mbovel,MiteshShah,miya0001,Nikschavan,ntwb,petenelson,rahul3883,raquelmsmith,Rarst,ryanshoover,schlessera,Sidsector9,SosyalAlkolik,ssnepenthe,Steveorevo,tfrommen,tillkruss,timdream,trepmal,wp-make-coffee,zacksheppard

文章目錄



發表評論

發表回覆

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