# WP-CLI  v1.2.0  發行説明

*Published:* 2017-06-01
*Author:* 殼殼蟲

“

發佈日快樂！

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

但首先…

我們有一個新的標誌！
----------

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

![](https://wptea.com/wp-content/uploads/2023/10/wp-cli-cropped.png)感謝Chris Wallace和Lift UX[8](#024ca2c7)團隊的工作，以及所有對我的反饋做出回應的人。

命令抽象到不同的包
---------

我們將項目分解了！

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

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

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

對於使用Composer[1](#b7d30c9f)的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”頁面：

![](https://wptea.com/wp-content/uploads/2023/10/good-first-issues.png)對於提交者，我們現在有一個自定義儀錶板的開端：

![](https://wptea.com/wp-content/uploads/2023/10/dash-screenshot.png)貢獻工作流程的工作是一個持續進行的過程。我們還沒有深入挖掘。

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

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

在我們的每週辦公時間或WordCamp[2](#172d93d8) 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<sup class="fn" data-fn="d811ec15"><a href="#d811ec15" id="d811ec15-link">7</a></sup>   |
| 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 drop`和`wp 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[4](#0d087bb4)原始ZIP URL[6](#aa576bac)安裝時禁用重命名行為\[#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.yml` 和 `circle.yml` 進行了多項改進 \[#3919\]。
    - 在 `.travis.yml` 中緩存 Composer \[#3816\]。
    - 為 PHP `5.*` 安裝 PHPUnit[3](#908a4809) `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

### 名詞解釋

1. Composer：PHP 的依賴管理工具 [↩︎](#b7d30c9f-link)
2. WordCamp：WordPress 社區全球官方交流活動 [↩︎](#172d93d8-link)
3. PHPUnit：PHP 語言的單元測試框架 [↩︎](#908a4809-link)
4. GitHub：全球最大的代碼託管和協作開發平台 [↩︎](#0d087bb4-link)
5. WP-CLI：WordPress 的命令行管理工具 [↩︎](#d7bb736e-link)
6. URL：統一資源定位符，即網址 [↩︎](#aa576bac-link)
7. MB：兆字節（存儲單位） [↩︎](#d811ec15-link)
8. UX：用户體驗 [↩︎](#024ca2c7-link)
<!-- WP Chinese Converter Full Page Converted. Target Lang: zh-hk -->