這周已經相當瘋狂,還只是星期三。
正如你們中的許多人所知,我在星期一晚上啓動了一項 Kickstarter 眾籌活動:更加 RESTful 的 WP-CLI。令人難以置信的是,它在不到12小時內就完成了100%的籌款。點擊鏈接查看有關我將在2016年初開展的更多詳細信息。
但是,我有一個更加重要的説明,涉及支持的 WordPress 版本:
- WP-CLI v0.22.0(下一個版本)將將最低支持的 WordPress 版本從3.5提高到3.7(背景信息)。
- WP-CLI版本在0.20.3之前將與WordPress 4.4不兼容(背景信息)。
這個重要説明可能與您有關,請相應採取行動。
WP-CLI v0.21.0解決了109個問題和拉取請求。以下是新內容。
使用WP_CLI::get_runner()->load_wordpress();加載WordPress
現在,您可以通過將@when before_wp_load添加到您的命令文檔來在WordPress加載之前運行WP-CLI命令一段時間了。現在,您可以使用相同的命令加載WordPress。
查看wp eval如何使用WP_CLI::get_runner()->load_wordpress():
class Eval_Command extends WP_CLI_Command {
/**
* 執行任意的PHP代碼。
*
* <php-code>
* : 要執行的代碼,作為字符串。
*
* [--skip-wordpress]
* : 在不加載WordPress的情況下執行代碼。
*
* @when before_wp_load
*
* ## 示例
*
* wp eval 'echo WP_CONTENT_DIR;'
*/
public function __invoke( $args, $assoc_args ) {
if ( null === Utilsget_flag_value( $assoc_args, 'skip-wordpress' ) ) {
WP_CLI::get_runner()->load_wordpress();
}
eval( $args[0] );
}
}
使用wp eval --skip-wordpress 來執行PHP而不加載WordPress。或者,使用wp eval-file --skip-wordpress ,例如,執行一個快速而不需要WordPress安裝的髒髒髒髒髒髒。
類似地,當您使用wp core verify-checksums與--version=時,WP-CLI將檢查以確保core文件未被修改,而無需加載WordPress。
創建這個新功能幾乎就像更換行駛中的汽車引擎。
使用--debug獲得更多詳細信息
當您提供--debug標誌時,您將獲得更多關於WP-CLI執行您的命令的上下文信息。
之前:
$ wp option get home --debug
http://wordpress-test.dev
之後:
$ wp option get home --debug
Debug: 使用默認全局配置:/home/vagrant/.wp-cli/config.yml(0.026s)
Debug: 未找到項目配置(0.027s)
Debug: 從配置中獲取所需文件:/srv/www/wp-rest-cli/wp-rest-cli.php(0.059s)
Debug: 定義了ABSPATH:/srv/www/wordpress-test.dev/(0.06s)
Debug: 開始加載WordPress(0.063s)
Debug: wp-config.php路徑:/srv/www/wordpress-test.dev/wp-config.php(0.065s)
Debug: 設置URL:wordpress-test.dev/(0.066s)
Debug: 已加載WordPress(0.515s)
Debug: 正在運行命令:option get(0.516s)
http://wordpress-test.dev
通過在關鍵檢查點包含WP_CLI::debug( $debug_message );,可以使您的命令更加有幫助。
v0.21.0的其他變化
增強功能:
- 使用
wp core update-db --network來升級整個網絡中的數據庫;還通過提供from和to數據庫版本來改善此命令的詳細程度。 - 添加
wp comment recount命令以重新計算文章的評論數。 - 包括
wp taxonomy list、wp taxonomy get、wp post-type list和wp post-type get以獲取關於已註冊的分類和文章類型的詳細信息。 - 使用
wp post update或wp post delete時,使用--defer-term-counting在操作結束時重新計算術語計數,以提高性能。 - 在使用無效的plugin slug運行
wp scaffold plugin-tests時返回更有用的錯誤消息。 - 在
wp theme list中,通過設置status=parent來表示父母主題。這更清晰地區分了真正不活動的主題與被用作父母主題的“不活動”主題。 - 嘗試在multisite安裝上使用
wp rewrite flush --hard時顯示錯誤消息,因為WordPress不為多站點安裝生成.htaccess文件。 - 允許
wp core download使用--path,即使檢測到WP。這允許自定義WP-CLI命令在現有WP安裝範圍內從子目錄下載WP。 - 為
wp export添加--post_type__not_in參數,現在可以生成一個不包括feedbacks等內容的導出文件。 - 支持使用
wp export --post__in的空格分隔的ID。這使得更容易傳遞wp post list --format=ids返回的ID。 - 在使用
wp scaffold plugin時包括一個.editorconfig。 - 新生成的
install-wp-tests.sh文件支持$WP_VERSION=trunk或$WP_VERSION=nightly,以便對WordPress trunk運行您的插件測試。 - 在
wp core multisite-convert中,當wp-config.php不可寫時為用户提供更有用的錯誤消息。 - 當無效的子命令具有有效的父命令時,為用户提供更有幫助的錯誤消息。
- 在警告並要求確認後,支持在由APC緩存支持的WordPress實例上使用WP-CLI。
- 如果WP-CLI是較大的Composer項目的一部分,則sniffs出自定義供應商路徑。
- 不再需要通用參數
wp post create和wp comment create,可以在不提供標題等信息的情況下使用這些命令。 - 接受沒有右側數據的關聯參數。
- 在查找具有
wp cli update的PHP二進制文件時,耗盡所有可能的選項。以前,WP-CLI會嘗試直接調用php,但在PHP未公開為這樣的系統上會失敗。 - 根據WordPress版本,接受
wp_new_user_notification()的棄用第二個參數。
您可以在Github上瀏覽已解決問題的完整列表。
此版本的貢獻者:aaemnnosttv、borekb、danielbachhuber、gmcinnes、JRGould、johnbillion、kraftbj、miya0001、ntwb、rodrigoprimo、rmccue szepeviktor、torounit、voldemortensen、ypid





發表回覆