今天又是發佈日!
我們很高興地為您帶來 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 set
和 config 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 create
和 post 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 search
、db tables
和 search-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] 。
- 當 ZIP URL 為
core update
:- 在 WP
get_core_checksums()
中忽略 SSL trigger_error [#48] 。 - 使用
ZipArchive
刪除wp-content/
以始終允許--skip-content
[#59] 。
- 在 WP
core verify-checksums
- 在 WordPress 根目錄中包含以
wp-
為前綴的文件時,警告 [#28] 。
- 在 WordPress 根目錄中包含以
db *
:- 使用新的
after_wp_config_load
鈎子來提前調用db
命令 [#57] 。
- 使用新的
db check/cli/create/drop/export/import/optimize/query/repair/reset
:- 為所有提升權限命令添加
--dbuser
和--dbpass
選項,以及check
、optimize
和repair
命令的額外參數選項 [#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_TOKEN
和COMPOSER_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] 來添加添加多個元數據的功能。
- 通過將 JSON 格式的數組傳遞給
post create
:- 在
--post_category
中接受category
標籤,檢查是否提供了不正確的 ID 或標籤 [#129] 。
- 在
post delete
:- 糾正刪除消息 [#124] 。
post generate
:- 添加對生成特定
post_title
的支持 [#94] 。
- 添加對生成特定
scaffold block
:- 為插件或主題構建基本的 Gutenberg 塊 [#96] 。
- 基於 Gutenberg 手冊添加內聯文檔,生成
style.css
,支持最新的supportsHtml
API,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] 。
- 從 dashicon 參數中修剪
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 flush
和wp 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
發表回覆