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

文章目錄



發表評論

發表回覆

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