WP-CLI v1.5.0 發行説明

今天又是發佈日!

我們很高興地為您帶來 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

發表評論

發表回覆

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