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

發表評論

發表回覆

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