釋出日快樂!
今天,我很高興為您帶來 WP-CLI v0.25.0 。檢視新發布的路線圖,瞭解即將釋出的版本和產品重點的詳細資訊 (提示:未來 WP-CLI 將不再支援 PHP 5.3) 。
讓我們深入瞭解吧。
與 WordPress 4.7 相容性
WordPress 4.7 引入了一個新的 WP_Hook
實現,用於註冊和執行動作和過濾器。由於 WP-CLI 擁有自己的 WP_CLI::add_wp_hook()
,它錯誤地訪問了全域性的 $wp_filter
,即使 add_filter()
函式可用,WP-CLI 在某些情況下可能會致命錯誤。現在 WP-CLI 在適當的時候呼叫 add_filter()
。
重要的是,由於這些更改的性質,WP-CLI 版本 0.25.0 之前將與 WordPress 4.7 不相容。
檢查此拉取請求中的更改。
包索引中的新包
WP-CLI 社羣一直在積極建立新工具供您使用 (並回饋):
- aaemnnosttv/wp-cli-login-command – 使用安全的無密碼魔術連結登入到 WordPress 。
- alessandrotesoro/wp-cli-helpscout-docs-parser – 提取 Helpscout 文件文章和類別以構建離線文件。
- alessandrotesoro/wp-usergen-cli – 為測試目的生成隨機使用者。
- anhskohbo/wp-cli-themecheck – 在 WP-CLI 中執行 Themecheck 。
- BeAPI/wp-cli-light-db-export – 允許您匯出大型資料庫的所有表,但不包括所有資料。
- binarygary/db-checkpoint – 將您的資料庫視為影片遊戲中的儲存點。
- brightoak/wp-cli-envoyer – 透過 WP-CLI 呼叫 Envoyer 部署。
- getshifter/wp-cli-shifter – 為 Shifter 匯入/匯出您的 WordPress 站點。
- eriktorsner/wp-checksum – 驗證主題和外掛的校驗和。
- iandunn/wp-cli-plugin-active-on-sites – 列出在 多站點 網路中啟用了給定的 外掛 的所有站點。
- markri/wp-sec – 檢查 wpvulndb.com 上的 WordPress CVE 安全問題。
- mattgrshaw/wp-installer – 安裝和解除安裝 WordPress 的簡單命令。
- pressbooks/pb-cli – Pressbooks 的一套 wp-cli 命令。
- runcommand/assign-featured-images – 為支援縮圖的帖子分配特色圖片。
- runcommand/manifest – 生成 WordPress 配置的概述,以更高階的理解 WordPress 內部的運作情況。
- rxnlabs/wp-composer – 使用 Composer 的強大功能管理您的 WordPress 網站依賴項。
- trendwerk/faker – 使用 WP-CLI 建立虛假文章資料。
- trepmal/blog-extractor – 從多站點中提取單個部落格。
- trepmal/wp-revisions-cli – 管理修訂版本。
- welaika/wp-cli-db2utf8 – 將新 WP 安裝的資料庫編碼降級為 UTF8 。
使用 wp package install <package-name>
安裝其中任何一個 (其中 <package-name>
通常是 <user>/<repo>
) 。當您這樣做時,請感謝作者!
安裝 WP-CLI 包的更多方式
雖然我們希望看到您的包在包索引中列出,但我們意識到您可能無法這樣做。現在,wp package install
支援安裝任意 Git URL [#3482] 、.zip
檔案 [#3485] 或目錄路徑 [#3484] 作為包。
$ wp package install git@github.com:runcommand/doctor.git $ wp package install https://github.com/runcommand/doctor.zip $ wp package install doctor
(doctor 是來自 runcommand 的第二個高階 WP-CLI 命令)
- Git URL 被視為 VCS 儲存庫,並克隆到
~/.wp-cli/packages/vendor
。 - ZIP 存檔 (遠端和本地) 被解壓到
~/.wp-cli/packages/local
,並作為路徑儲存庫新增。 - 本地目錄路徑被新增為路徑儲存庫,這意味著 Composer 建立到現有目錄路徑的符號連結。如果您提供的目錄被刪除,安裝將會中斷。
0.25.0 中的其他更改
新命令:
wp db check
– 使用預設的--check
選項執行mysqlcheck
[#3332] 。wp site option *
– 用於管理 WordPress 站點選項的 CRUD 命令 [#3386] 。wp user session *
– 用於管理使用者會話的 CRUD 命令 [#3307] 。
命令改進:
wp cli update
:- 引入
--stable
以安裝或重新安裝最新的穩定版本 [#3430] 。
- 引入
wp core config
:- 向生成的
wp-config.php
新增註釋,以更好地匹配由 WordPress core 提供的版本 [#3312] 。
- 向生成的
wp core download
:- 保留
--version
引數的大小寫以正確處理預釋出版本 [#3283] 。 - 確保
wp core download --version=latest
生成正確版本的快取金鑰 [#3467] 。
- 保留
wp core language update
:- 修復關於變數引用的嚴格標準錯誤 [#3380] 。
- 允許在設定為
en_US
為區域設定時更新語言包 [#3397] 。
wp core multisite-(install|convert)
:- 在不能插入到
wp-config.php
時發出警告,而不是在末尾錯誤地插入 [#3272] 。 - 在插入的常數週圍包括足夠的垂直間距 [#3267] 。
- 在不能插入到
wp core update-db
:- 確保
wp core update-db --network --dry-run
實際上是乾淨的 [#3347] 。
- 確保
wp core version
:- 在
wp core version --extra
中顯示預設的核心語言 [#3221] 。
- 在
wp import
:- 在 WXR 匯入進度指示器中指示當前檔案,以傳達總數是當前檔案的總數,而不是所有檔案的總數 [#3270] 。
wp media regenerate
:- 新增一個簡單的進度指示器 [#3407] 。
wp option list
:- 新增
--no-transients
標誌以忽略瞬態 [#3452] 。 - 新增
--exclude=<exclude>
引數以列出不包括特定模式的選項 [#3455] 。
- 新增
wp package install
- 在安裝依賴包時顯示包依賴詳細資訊 [#3418, #3425] 。
wp package uninstall
- 在解除安裝包時刪除包的依賴項 [#3343] 。
- 在解除安裝時正確分配
$composer_backup
[#3399] 。
wp plugin install
:- 從為基於 Github 的 ZIP 建立的目錄中刪除分支名稱 [#3314, #3451] 。
wp scaffold plugin-tests
:- 在 CircleCI 上使用特定於 Trusty 的 PHP 版本 [#3359] 。
- 在 CircleCI 上使用正確的預設使用者來執行 MySQL [#3457] 。
- 根據 PHP 版本在 Travis 上使用最新版本的 PHPUnit [#3463] 。
- 將 WordPress Coding Standards 新增到新建立的外掛中 [#3472] 。
wp search-replace
:- 確保引用表以支援所有允許的字元 [#3318] 。
- 當未定義
export_insert_size
時防止錯誤通知 [#3357] 。 - 如果由於某種原因 SQL 引發錯誤,回退到 PHP [#3387] 。
wp server
:- 支援傳遞自定義的
.ini
檔案來配置伺服器 [#3330] 。
- 支援傳遞自定義的
wp site create
:- 在建立新站點時,使用
get_blog_details()
來獲取站點 URL,以確保顯示正確的 URL [#3416] 。
- 在建立新站點時,使用
wp site empty
:- 確保整個上傳目錄為空 [#3400] 。
wp theme install
:- 在安裝 子主題 時正確安裝父主題 [#3301] 。
wp transient
:- 合併
wp transient delete-all
和wp transient delete-expired
為wp transient delete
的標誌 [#3389] 。
- 合併
wp user create
:- 當建立使用者時,防止傳送電子郵件通知,因為只有在提供
--send-email
時才應傳送電子郵件通知 [#3331] 。
- 當建立使用者時,防止傳送電子郵件通知,因為只有在提供
- 框架增強:
- 將基於 Composer 的依賴項更新為最新版本 [#3257, #3429, #3460, #3468] 。
- 正確處理將例項化物件註冊為命令 [#3269] 。
- 將
ProcessRun
類拆分到其自己的檔案中 [#3377, #3422] 。 - 允許使用
WP_VERSION
環境變數執行測試套件 [#3383, #3392] 。 - 在使用 WP 版本時,使用
Utilsget_named_sem_ver()
時防止出現錯誤通知 [#3404] 。 - 修復了在處理
nocache_headers
filter 上的dead_db()
錯誤時出現的致命錯誤 [#3440] 。 - 為防止
wp_mail()
在使用時引發未捕獲的異常,分配了預設的$_SERVER['SERVER_NAME']
[#3449] 。 - 在使用別名時,忽略
wp-cli.yml
中的url:
,因為別名完全覆蓋了使用者、 URL 、路徑、 SSH 和 http[#3450] 。 - 在
WP_CLI::launch()
以return_code=-1
結束時發出警告,這可能是由於使用了--enable-sigchild
選項的自定義編譯版本的 PHP 引起的 [#3458] 。 - 在
wp_die()
處理程式中提供更多的詳細資訊,以在資料庫連線失敗時為終端使用者提供更多詳細資訊 [#3459] 。 - 支援將引數傳遞給
WP_CLI::do_hook()
[#3470] 。 - 在執行別名組時記錄當前別名 [#3471] 。
- 只在存在值時檢查
options
的位置引數 [#3481] 。 - 各種 Bash 完成改進 [#3490, #3491, #3492] 。
- 跨全面修復錯誤:
- 為基於 Debian 的系統上的 PHP 7 定義了所有必要的依賴關係 [#3208] 。
- 確保
site --site_id= -> site --network_id=
的向後相容橋接隻影響wp site create
[#3227] 。 - 在驗證核心校驗和時捕獲由
RecursiveDirectoryIterator
引發的異常 [#3266] 。 - 在 meta 命令中傳遞斜槓資料 [#3274] 。
- 確保
composer.json
中使用了適當的 WP-CLI 軟體包索引 URL[#3276] 。 - 在
WP_CLIUtilsget_temp_dir()
中使用全域性名稱空間來更正WP_CLI
的引用 [#3369] 。 - 為此版本作出貢獻的貢獻者 (拉取請求、文件和軟體包作者):2ndkauboy 、 aaemnnosttv 、 alessandrotesoro 、 anhskohbo 、 balbuf 、 BeAPI 、 binarygary 、 bradp 、 brightoak 、 danielbachhuber 、 danilomaccioni 、 diggy 、 getshifter 、 eriktorsner 、 ernilambar 、 fisele 、 grappler 、 guillaumemolter 、 iandunn 、 johnbillion 、 jorgeatorres 、 kouratoras 、 markri 、 mattgrshaw 、 miya0001 、 mustafauysal 、 nyordanov 、 ocean90 、 petenelson 、 polevaultweb 、 pressbooks 、 rahulsprajapati 、 runcommand 、 rxnlabs 、 shulard 、 swissspidy 、 szepeviktor 、 taianunes 、 tnorthcutt 、 trendwerk 、 trepmal 、 veganista 、 welaika
- 您可以在 GitHub 上檢視已解決問題的完整列表。
發表回覆