這周已經相當瘋狂,還只是星期三。
正如你們中的許多人所知,我在星期一晚上啟動了一項 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





發表回覆