WP-CLI v0.25.0 發行說明

Wpcli logo

釋出日快樂!

今天,我很高興為您帶來 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-allwp transient delete-expiredwp 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上檢視已解決問題的完整列表。

文章目錄



發表評論

發表回覆

您的郵箱地址不會被公開。 必填項已用 * 標註