WP-CLI v1.5.0 發行說明

Wpcli logo

今天又是釋出日!

我們很高興地為您帶來 WP-CLI v1.5.0,自2017年11月v1.4.1以來合併了總共279個拉取請求。

這次釋出由不知疲倦的 Martin Burke(@gitlost)領導,他確保了沒有一個 bug 被忽視,沒有一個邊界情況未經測試。

新的提交者

  • Pascal(@swissspidy)住在瑞士蘇黎世。除其他貢獻外,他一直在處理 embed 命令族的艱苦工作。

外掛 校驗驗證

WP-CLI 現在可以透過新的 plugin verify-checksums 命令來驗證已安裝外掛的完整性(除了已有的 core verify-checksums 命令)。[#15], [#26]

# 驗證所有已安裝外掛的檔案與官方校驗和是否匹配。
$ wp plugin verify-checksums --all
+-------------+---------------+-------------------------+
| plugin_name | file          | message                 |
+-------------+---------------+-------------------------+
| gutenberg   | backdoor.php  | 檔案已新增          |
| gutenberg   | gutenberg.php | 校驗和不匹配 |
+-------------+---------------+-------------------------+
錯誤:只驗證了 1 個外掛中的 2 個(1 個失敗)。

注意:這是該功能的第一個迭代版本,仍然存在一些限制:

  • 它僅適用於託管在官方外掛倉庫中的外掛。
  • 它僅適用於這些外掛的最新版本,因為我們尚未在 wordpress.org 後端部署程式碼來為舊版本生成校驗和。

在您計劃使用這個新命令時,請牢記這些限制。

隨著我們進一步迭代此專案,允許驗證來自主題倉庫的所有免費主題,以及希望以後也包括第三方外掛/主題,我們歡迎任何反饋意見以改進當前的實施。

WordPress 配置檔案操作

現在,管理您的 wp-config.php 檔案變得更加容易!我們不僅改進了 config get,還包括了 config has 和可過濾的 config list 命令… 不僅如此,我們最終為您帶來了全新的 config setconfig delete 命令,用於 WordPress 配置檔案操作。[#42], [#44]

# 獲取在 wp-config.php 檔案中定義的 table_prefix。
$ wp config get table_prefix
wp_

# 檢查 wp-config.php 檔案中是否存在 DB_PASSWORD 常量。
$ wp config has DB_PASSWORD
(返回退出程式碼)

# 僅從 wp-config.php 檔案中列出資料庫使用者和密碼。
$ wp config list DB_USER DB_PASSWORD --strict
+-------------+-------+----------+
| key         | value | type     |
+-------------+-------+----------+
| DB_USER     | root  | constant |
| DB_PASSWORD | root  | constant |
+-------------+-------+----------+

特別感謝 @fjarrett 對 wp-cli/wp-config-transformer 軟體包的出色工作,它支援了對 wp-config.php 的更改。

oEmbed 管理

新的 embed 命令允許您檢查和操作 oEmbed 物件,例如,您可以清除特定帖子的快取值:

$ wp embed cache clear 123
成功:已清除 oEmbed 快取。

或者重置快取值:

$ wp embed cache trigger 123
成功:已觸發快取!

您可以使用 fetch 檢視 URL 的嵌入 HTML

$ wp embed fetch https://www.youtube.com/watch?v=dQw4w9WgXcQ

[youtube https://www.youtube.com/watch?v=dQw4w9WgXcQ?feature=oembed&w=525&h=295]

或者使用 --raw 選項檢視提供程式返回的內容:

還有很多功能!

陣列引數支援(目前僅限 meta

post createpost update 命令的 --meta_input 選項現在接受 JSON 格式的陣列,因此您可以一次性新增或更新帖子及其後設資料:

$ wp post create --post_title='Title' --post_content='Content.' --meta_input='{""key1"":""value1"",""key2"":""value2""}
成功:已建立帖子 123。

這是一個很好的時間節省方式,因為以前您需要執行三個單獨的命令才能獲得相同的結果。

這個看似無害的變更意味著我們終於可以透過這個 JSON 語法接受關聯陣列作為引數。 --meta_input 引數可能只是更多功能的第一個。

v1.5.0 中的其他內容

向後相容性破壞

請注意,一個框架變更 [#4624] 改變了對 db searchdb tablessearch-replace 命令的表 filter 引數的行為。

現在,表篩選引數:

  • 在給定表篩選而不給定 --all-tables-with-prefix--all-tables 選項時,將尊重註冊的 wpdb 表。
  • 在給定 --network 選項時,不會忽略 --scope 選項。
  • 表總是以排序順序返回。

還請注意,option list 現在不再預設顯示瞬時值(transients)[#127]。

新的和值得關注的

  • user reset-password: 重置使用者的密碼 [#119]。
  • 命令描述現在遵循 WordPress 的規範,使用第三人稱單數,感謝 DrewAPicture!

命令改進

  • cli info:
    • 顯示作業系統和 shell 資訊 [#4604], [#4610]。
  • core download:
    • 當 ZIP URL 為 'http://' 時,跳過快取以獲取夜間版本 [#44]。
  • core update:
    • 在 WP get_core_checksums() 中忽略 SSL trigger_error [#48]。
    • 使用 ZipArchive 刪除 wp-content/ 以始終允許 --skip-content [#59]。
  • core verify-checksums
    • 在 WordPress 根目錄中包含以 wp- 為字首的檔案時,警告[#28]。
  • db *:
    • 使用新的 after_wp_config_load 鉤子來提前呼叫 db 命令[#57]。
  • db check/cli/create/drop/export/import/optimize/query/repair/reset:
    • 為所有提升許可權命令新增 --dbuser--dbpass 選項,以及 checkoptimizerepair 命令的額外引數選項[#75]。
  • db search:
    • 注意:有關表篩選引數的處理,請參見上面的向後相容性破壞[#4624]。
  • db size:
    • 確保 --size_format=<format> 引數的預設值始終為位元組[#69]。
    • 包括 TB 和 GB 資料庫大小格式的支援[#81]。
  • db tables:
    • 注意:有關表篩選引數的處理,請參見上面的向後相容性破壞[#4624]。
  • export:
    • 當已指定 --post__in 時,新增 --with_attachments 選項以強制包括附件[#16]。
  • media image-size:
    • 在輸出中新增尺寸比率[#58], [#59]。
  • media regenerate:
    • 如果沒有尺寸後設資料,不會丟擲 PHP 警告[#61]。
  • option get:
    • 如果選項不存在,顯示錯誤訊息[#126]。
  • option list:
    • 預設情況下不顯示瞬時值[#127]。
  • package *:
    • 支援混合大小寫的包名稱[#49], [#50]。
    • 新增 GITHUB_TOKENCOMPOSER_AUTH 處理[#47]。
  • package browse/list
    • 如果瀏覽/列出軟體包時,Composer 無法訪問儲存庫[#60],則捕獲異常。
  • package install/uninstall
    • 在記憶體限制錯誤時還原composer.json [#64]。
  • package install
    • 從正確的分支檢索軟體包名稱[#65]。
  • plugin install
    • 將Github專案名稱用作Github存檔URL的外掛目錄[#81]
  • post create/update
    • 透過將JSON格式的陣列傳遞給--meta_input[#133],[#138]來新增新增多個後設資料的功能。
  • post create
    • --post_category中接受category標籤,檢查是否提供了不正確的ID或標籤[#129]。
  • post delete
    • 糾正刪除訊息[#124]。
  • post generate
    • 新增對生成特定post_title的支援[#94]。
  • scaffold block
    • 為外掛或主題構建基本的Gutenberg塊[#96]。
    • 基於Gutenberg手冊新增內聯檔案,生成style.css,支援最新的supportsHtmlAPI,WordPress編碼標準修復[#107]。
    • 將PHP模板更新為最新的推薦方法[#111]。
  • scaffold child-theme
    • 生成符合WordPress編碼標準的程式碼[#117]。
  • scaffold plugin
    • 為構建的Gruntfile.js新增預設任務[#87]。
    • 生成符合WordPress編碼標準的程式碼[#120]。
  • scaffold plugin-tests
    • 使用Composer確定要安裝的PHPUnit版本,而不是根據Travis環境變數[#75]。
    • phpunit.xml.dist新增到XML宣告[#78]。
    • bootstrap.php中使用更新的錯誤訊息[#90]。
    • 從Travis CI快取中刪除Composer供應商目錄[#99]。
  • scaffold post-type
    • 從dashicon引數中修剪dashicon-以防止重複字串[#70]。
    • 重新整理構建的文章型別標籤[#84]。
    • 生成符合WordPress編碼標準的程式碼[#110]。
  • scaffold taxonomy
    • term_updated_messages新增到構建的分類法[#82]。
    • 生成符合WordPress編碼標準的程式碼[#112]。
  • scaffold theme-tests
    • tests/bootstrap.php新增theme_root過濾器,以確保主題的functions.php被載入[#116]。
  • search-replace
    • 注意:請檢視上面關於表過濾引數處理的向後相容性破壞[#4624]。
    • 新增--skip-tables=<tables>引數以排除特定表格[#48]。
    • 在使用--report-change-only時停用沒有索引的報告表[#54]。
    • 對報告進行一般改進,包括在沒有表格輸出時停用表格顯示[#57]。
    • 修復未引用非整數主鍵[#59],[#63]。
  • user remove-caps
    • 如果許可權不存在或從角色繼承[#125],則出錯。

框架增強

  • 在無法建立快取目錄時改進警告[#4456]。
  • 允許@when方法覆蓋類@when[#4458]。
  • 從幫助文字中提取連結到腳註[#4465]。
  • 實現命令名稱空間[#4470]。
  • 生成沒有set_url_scheme()get_site_url()[#4473]。
  • 引入新的after_wp_config_load掛鉤(用於早期呼叫wp db *)[#4488]。
  • 使用vagrant ssh-config自動獲取主機名[#4495]。
  • 在找不到安裝時指示資料庫中的其他WP安裝[#4476]。
  • 允許在Debian構建中使用php7.1-mysql[#4511]。
  • 在註冊命令時支援'longdesc'作為命令引數[#4513],[#4636]。
  • 改進提取器錯誤訊息[#4510]。
  • multisite上執行wp cache flushwp search-replace,即使找不到站點[#4527]。
  • 修復在Windows git/cygwin bash上提示問題[#4547]。
  • 除非啟用全域性術語,否則不顯示'sitecategories'表[#4552]。
  • 確保晚註冊的命令出現在使用中[#4564]。
  • 改進在呼叫程式和使用more.com時的Windows相容性[#4572],[#4595]。
  • 在RPM構建中使用更柔和的PHP要求[#4571]。
  • 僅當它們產生有效選項時才提供基於字典的建議[#4590]。
  • make_progress_bar()新增間隔引數[#4603]。
  • 新增Utils\esc_like()wpdb版本的補充[#4612]。
  • 正確處理wp_get_table_names()中的萬用字元(見上述向後相容性破壞)[#4624]。
  • 新增shell陣列解析助手[#4623],[#4635]。
  • 檢查WordPress core檔案的可讀性[#4626]。
  • 為錯誤輸入新增一些建議[#4577]。

這次釋出的貢獻者總共有39位。
ahmadawais, BhargavBhandari90, danielbachhuber, davidbhayes, DrewAPicture, drzraf, ecotechie, emgk, eriktorsner, fjarrett, gitlost, grantpalin, gziolo, inetbiz, kirtangajjar, LC43, lukecav, marcochiesi, marksabbath, miya0001, mm-pagely, neonardo1, ntwb, ocean90, playmono, rkialashaki, runofthemill, ryotsun, sagarprajapati, schlessera, Shelob9, ssnepenthe, swissspidy, szepeviktor, terriann, thrijith, vbaranovskiy-plesk, vigilanteweb, websupporter

文章目錄



發表評論

發表回覆

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