[WordPress] 外掛分享: Rollback Auto Update

WordPress 外掛 Rollback Auto Update 的封面圖片。

前言介紹

  • 這款 WordPress 外掛「Rollback Auto Update」是 2021-02-10 上架。
  • 目前有 1000 個安裝啟用數。
  • 上一次更新是 2024-04-17,距離現在已有 380 天。超過一年沒更新,安裝要確認版本是否可用。以及後續維護問題!
  • 外掛最低要求 WordPress 6.3 以上版本才可以安裝。
  • 外掛要求網站主機運作至少需要 PHP 版本 7.0 以上。
  • 有 4 人給過評分。
  • 還沒有人在論壇上發問,可能目前使用數不多,還沒有什麼大問題。

外掛協作開發者

pbiron | afragen | costdev |

外掛標籤

update | failure | auto-update | feature-plugin |

內容簡介

這是一個功能插件,用於測試插件或主題更新失敗時的自動回滾。

它基於PR 的 #51857。當前的 PR #2225 和加到核心的 PR #3958。

更新插件/主題時,舊版本的插件/主題會移動到 wp-content/temp-backup/plugins/PLUGINNAME 或 wp-content/temp-backup/themes/THEMENAME 文件夾中。我們之所以選擇移動而不是壓縮,是因為壓縮/解壓縮是非常耗資源的過程,會增加低端共享主機的風險。另一方面,移動是即時完成的,不會成為瓶頸。
如果更新失敗,那麼我們在 temp-backup 文件夾中保存的“備份”將被恢復到其原始位置
如果更新成功,則刪除“備份”
在站點健康狀態屏幕中新增了2個檢查:

檢查回滾文件夾是否可寫。
檢查是否有足夠的磁盤空間可以安全地執行更新。

為避免混淆:不能使用“temp-backup”文件夾將插件回滾到以前的版本後進行的更新。此文件夾將僅包含正在更新的插件/主題的前一版本的瞬時備份,並且一旦更新過程完成,文件夾將為空。

測試

如果 wp-content/temp-backup 文件夾不可寫入,則網站健康屏幕中應顯示錯誤。
如果服務器可用空間小於20MB,則網站健康屏幕中應顯示錯誤,提示更新可能失敗。
如果服務器可用空間小於100MB,則應提示磁盤空間不足。
更新插件時,您應該能夠在 wp-content/temp-backup/plugins/PLUGINNAME 文件夾中看到舊的插件。主題也是一樣。由於更新有時會很快,而我們在測試期間可能會錯過文件夾創建,您可以模擬更新失敗以進行演示。這將提前返回並跳過更新成功時的備份刪除。

當插件更新失敗時,應恢復先前的版本。為測試此功能,將插件的版本更改為先前的版本號碼,運行更新,然後在失敗時應安裝在站點上的先前版本(您更改版本號的版本)。要模擬更新失敗並確認這一點是否正常工作,可以使用以下片段:

add_filter( 'upgrader_install_package_result', function() {
return new WP_Error( 'simulated_error', 'Simulated Error' );
});

或者,您可以安裝回滾更新測試插件,根據需要啟用。

或者使用內置的模擬失敗功能。只需從 plugins.php 頁面操作鏈結中啟用/停用即可。

報告問題

請在 GitHub 提交問題和 PR。

徽標來自於一個網絡迷因生成器。 原始文章。

原文外掛簡介

This is a feature plugin is for testing Rollback Auto-Update, aka Rollback part 3. This feature only protects plugins during the auto-update process.
As part of the normal Rollback process, the currently installed version of the plugin is moved to wp-content/upgrade-temp-backup/plugins. An active plugin is checked to ensure it doesn’t cause a PHP fatal error when visiting the site. An inactive plugin is not checked because it cannot cause your site to white screen.
Rollback parts 1 was merged into WordPress 6.2 as the move_dir(). Rollback part 2 was merged into WordPress 6.3 and protects the manual update process of plugins and themes.

r53578
r55204
r55219
r55220
r55223
r55720

Testing

Requires WordPress 6.3
This only works on auto-updates.
Run the following commands from the terminal. You might need to run the command several times to get it started:
wp cron event run wp_version_check
When updating a plugin, you should be able to see the old plugin in the wp-content/upgrade-temp-backup/plugins/PLUGINNAME folder. The same should apply for themes. Since updates sometimes run fast and we may miss the folder creation during testing, you can simulate an update failure to demonstrate.
When a plugin auto-update fails, the previous version should be restored. To test that, change the version of a plugin to a previous number, run the update, and on fail the previous version (the one where you changed the version number) should still be installed on the site. To simulate an update failure and confirm this works, use the built-in Simulate failure link. Just activate/deactivate from the plugins.php page action link. This link will only be present if the plugin has an update pending.

Reporting
Please submit issues and PRs to GitHub.
Logo from a meme generator. Original artwork by Allie Brosh.

各版本下載點

  • 方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。
  • 方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「Rollback Auto Update」來進行安裝。

(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。


0.5.0 | 0.5.1 | 0.5.2 | 0.5.3 | 1.0.0 | 1.1.0 | 1.1.1 | 1.1.3 | 1.2.0 | 1.3.0 | 1.3.1 | 1.3.2 | 1.3.3 | 1.3.4 | 1.3.5 | 1.3.6 | 1.4.0 | 1.5.0 | 2.0.0 | 2.1.0 | 2.1.1 | 2.1.2 | 2.2.0 | 3.0.0 | 3.1.0 | 3.1.1 | 3.2.0 | 3.2.1 | 3.3.0 | 3.3.1 | 3.3.2 | 4.0.0 | 4.1.0 | 4.1.1 | 4.1.2 | 5.0.1 | 5.0.2 | 5.0.3 | 5.0.4 | 5.0.5 | 5.0.6 | 5.1.0 | 5.1.1 | 5.2.0 | 5.3.0 | 5.3.1 | 5.3.2 | 5.3.3 | 6.0.0 | 6.0.1 | 6.1.0 | 6.2.0 | 6.2.1 | 6.2.2 | 6.3.0 | 6.3.1 | 7.0.0 | 7.0.1 | 7.0.2 | 7.0.3 | 7.1.0 | 7.1.1 | 7.1.2 | 7.2.0 | 7.2.1 | trunk |

延伸相關外掛(你可能也想知道)

  • MainWP Child – Securely Connects to the MainWP Dashboard to Manage Multiple Sites 》這是一個針對「MainWP Dashboard」的子外掛程式,可將您的 WordPress 網站連接至 MainWP Dashboard。, MainWP是一個完整的 WordPress 管理解決方案,是自助...。
  • Enable jQuery Migrate Helper 》隨著 WordPress 5.5 的更新,一個名為 jquery-migrate 的遷移工具不再默認啟用。這可能會導致一些主題或外掛在運行舊代碼時缺少功能或出現意外行為。, 此外掛...。
  • Easy Theme and Plugin Upgrades 》WordPress 具有透過提供壓縮檔案安裝主題和外掛的內置功能。不幸的是,您無法使用相同的過程升級主題或外掛。相反,當試圖使用壓縮檔案升級時,WordPress 會...。
  • Companion Auto Update 》Companion Auto Update 是一個功能強大且完全免費的外掛,可以幫助您管理 WordPress 網站上的所有更新。我們的目標是為您提供最佳的更新控制,讓您隨時瞭解最...。
  • WP Umbrella: Update Backup Restore & Monitoring 》WP Umbrella 提供您所需的一切,以輕鬆管理多個 WordPress 網站。WP Umbrella 協助代理商和自由工作者管理其 WordPress 維護業務。, WP Umbrella 包含強大的...。
  • The WP Remote WordPress Plugin 》WP Remote WordPress 外掛與WP Remote合作,讓您可以遠端管理和更新所有 WordPress 網站。, WP Remote 已被 BlogVault 收購。, 功能, , 可免費更新無限數量的...。
  • Modular DS: Manage all your websites from a single dashboard 》Modular 是您提高網站維護流程和與客戶關係的必備工具,旨在節省時間並獲得更多的定期維護合同。, 使用 Modular 可以讓您在一個中心化的面板中掌控和訪問所有...。
  • jQuery Updater 》此外掛更新jQuery至最新的官方穩定版本,該版本通常不會在WordPress最新的穩定版本中提供。, jQuery Migrate也包含在內,以實現向下相容性。, 不會替換任何檔...。
  • MainWP Dashboard: WordPress Management without the SaaS 》這個 MainWP WordPress Manager 儀表板外掛可以讓您從自己的私有 WordPress 網站上控制多個 WordPress 網站(甚至是不同的主機)。, 🎉 現在已有超過 600,000...。
  • Disable All WordPress Updates 》這個外掛可以完全停用 WordPress 的主題、外掛和核心更新檢查系統。該插件防止 WordPress 檢查更新,包括 cronjobs,並防止顯示任何通知訊息。, 很重要的是,...。
  • Update Theme and Plugins from Zip File 》已過時:自 WP v5.5 起,此外掛功能已納入 WP 核心,因此不再需要此外掛。如果您正在運行 WP v5.5 或更高版本,可以停用並刪除 / 移除此外掛。此外掛在 WordP...。
  • Bulk Post Update Date 》使用這個外掛可以一鍵更改所有文章和頁面的發布日期和更新日期,有助於您的部落格在搜尋引擎中排名並且看起來更有活力。建議每週或每個月進行一次更改。, 為...。
  • Ajax Cart AutoUpdate for WooCommerce 》這是一個輕巧的外掛程式,在產品數量更改時自動更新購物車頁面和迷你購物車。同時移除了預設的「更新購物車」按鈕,並可以選擇關閉購物車頁面提示訊息。, 特...。
  • Version Control for jQuery 》jQuery 版本控制是控制網站上使用 jQuery 版本最簡單的方法之一。您可以選擇運行穩定的 WordPress 網站, 或是要在您的網站上驗證與各種 jQuery 版本的相容性...。
  • Hide Updates 》這個外掛可以在 WordPress 管理介面中隱藏核心、外掛程式和佈景主題的更新通知。該外掛對於透過 Composer 或遠程管理服務如 ManageWP 管理更新的開發人員和代...。

文章
Filter
Apply Filters
Mastodon