今天又是釋出日!
我們很高興地為您帶來 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,支援最新的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]。
- 從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





發表回覆