WordPress 外掛更新:批次更新、以 zip 取代與 WP-CLI

測試環境 RHEL 系列WordPress 7.1.3PHP 8.3

WordPress 外掛更新,是把在「已安裝的外掛」畫面上顯示有新版本的外掛換成最新版本。在 WordPress 7.1.3 上測量各種更新方式讓訪客端切換成維護畫面多久,從控制台的更新畫面一次更新五個外掛時約 10 秒都是 503,而「已安裝的外掛」畫面的批次操作在 1~2 秒內就結束了。

1️⃣ 檢查 WordPress 外掛更新

  • ↪️ 「已安裝的外掛」畫面上的新版本列與詳細資料

外掛有新版本時,最先可以從左側選單 [外掛] 旁的數字看出來。這個數字是有新版本的外掛數量,在檢查的網站上顯示為 7。

「已安裝的外掛」畫面:左側選單 外掛 › 已安裝的外掛與更新數字 7、已有更新可供安裝 (7) 檢視,以及各外掛新版本列中的檢視詳細資料與立即更新(WordPress 7.1.3)

開啟 [外掛 › 已安裝的外掛] 後,該外掛那一列下方會出現像 [Maintenance 已有新版本可供下載安裝。請檢視 4.32 版的詳細資料或立即更新。] 這樣的黃色橫條。外掛很多時,按清單上方的 [已有更新可供安裝 (7)],就只會列出有新版本的外掛。

「已安裝的外掛」畫面的已有更新可供安裝檢視:左側選單 外掛 › 已安裝的外掛,只列出七個有新版本外掛的清單(WordPress 7.1.3)

新版本列中的 [檢視 4.32 版的詳細資料] 會開啟和說明旁 [檢視詳細資料] 相同的視窗。不同之處是視窗會直接開在 [變更記錄] 分頁。

在 Maintenance 那一列按下後,視窗左側列出各版本的日期與修改內容。右側列出版本、作者、最後更新、相容的 WordPress 版本、PHP 版本需求與啟用安裝數。按視窗下方的 [立即更新],就能當場直接更新。

外掛詳細資料視窗:Maintenance 的變更記錄分頁,右側為版本、作者、相容版本、啟用安裝數,下方為立即更新按鈕(WordPress 7.1.3)

2️⃣ 逐一更新外掛

  • ↪️ 立即更新與約 2 秒的維護畫面

看完變更記錄後,用新版本列中的 [立即更新] 逐一更新。按下後該列會變成 [正在更新...],幾秒後變成 [已完成更新!],左側選單的數字也會少 1。

「已安裝的外掛」畫面:按下立即更新後 Maintenance 列的正在更新訊息,左側選單 外掛 › 已安裝的外掛(WordPress 7.1.3)

更新停用中的外掛時,訪客端畫面維持原樣。更新已啟用的 WordPress Importer 時,網站根目錄出現了 [.maintenance] 檔案,那約 2 秒內訪客看到的是回應碼 503 的維護畫面。

「已安裝的外掛」畫面:更新完成的 WordPress Importer 列的已完成更新!訊息,以及左側選單外掛數字 5(WordPress 7.1.3)

接著 Maintenance 再更新 WordPress Importer 後,左側選單的數字從 7 減為 5。更新完成的那一列,版本號也會換成新版本。

3️⃣ 批次更新外掛

  • ↪️ 「已安裝的外掛」畫面與控制台更新畫面的差異

要一次更新多個外掛時,用核取方塊選取外掛,在 [批次操作] 中選 [更新] 再按 [套用]。選取五個套用後,選取的列由上而下依序經過 [正在更新...],全部結束後畫面上方出現 [5 個外掛已成功更新。] 通知。

「已安裝的外掛」畫面的批次操作:勾選的五個外掛與批次操作中選取的更新、Limit Login Attempts Reloaded 列的正在更新訊息,左側選單 外掛 › 已安裝的外掛(WordPress 7.1.3)
「已安裝的外掛」畫面:5 個外掛已成功更新通知、已有更新可供安裝 (2) 檢視,以及左側選單外掛數字 2(WordPress 7.1.3)

這個畫面的批次操作會依序逐一更新外掛。因此維護畫面也只在輪到已啟用的外掛時短暫出現。在五個外掛中只有一個啟用的網站上,503 回應在 1~2 秒內結束,選三個時也一樣。

若在 [控制台 › 更新] 的 WordPress 更新畫面用 [更新外掛] 按鈕更新同樣的外掛,結果就不同。只要選取的外掛中有一個已啟用,這個畫面就會一直維持維護畫面,直到整批結束。五個約 10 秒、三個約 6 秒都是 503。在訪客多的時段,「已安裝的外掛」畫面的批次操作維護時間較短。

外掛更新進度畫面:左側選單 控制台 › 更新,從正在更新外掛(第 1 個,總計 5 個)到(第 5 個,總計 5 個),以及這個網站已完成全部更新(WordPress 7.1.3)
更新方式選取數維護畫面(503)
立即更新、停用的外掛1無
立即更新、已啟用的外掛1約 2 秒
「已安裝的外掛」畫面批次操作5 · 31~2 秒(只在輪到已啟用外掛時)
控制台 › 更新畫面、更新外掛5約 10 秒
控制台 › 更新畫面、更新外掛3約 6 秒
上傳 zip 取代、停用的外掛1無
WP-CLI update、停用的外掛1無
WordPress 外掛更新模擬器
wp-admin模擬器
請在新版本列用 [檢視詳細資料] 閱讀變更記錄後按 [立即更新],或勾選核取方塊後按批次操作 [更新] → [套用] 試試看。
플러그인 › 설치한 플러그인
플러그인플러그인 추가

전체 (3) | | | |

플러그인
설명
자동 업데이트
Hide My WP |

An excellent security plugin to hide your WordPress installation packed with some of the coolest and most unique features in the community.

버전 6.2.11 | 작성자 wpWave | 플러그인 사이트 방문

Hide My WP의 새 버전을 사용할 수 있습니다. 버전 6.2.12의 세부 사항 보기 또는 하세요.
WP Rocket설정 | 자주 묻는 질문 | 문서 | 지원 |

최고의 워드프레스 성능 플러그인.

버전 3.23.5 | 작성자 WP Media | 플러그인 사이트 방문

WP Rocket의 새 버전을 사용할 수 있습니다. 버전 3.23.5.1의 세부 사항 보기 또는 하세요.
Maintenance |

Put your site in maintenance mode, away from the public view. Use maintenance plugin if your website is in development or you need to change a few things, run an upgrade. Make it only accessible to logged in users.

버전 4.31 | 작성자 WebFactory Ltd | 플러그인 사이트 방문

Maintenance의 새 버전을 사용할 수 있습니다. 버전 4.32의 세부 사항 보기 또는 하세요.
플러그인
설명
자동 업데이트
사이트 방문 · 200

4️⃣ 以 zip 檔案更新

  • ↪️ 取代畫面與退回舊版本

沒有出現新版本列的外掛,就上傳 zip 檔案來取代。 安裝外掛畫面中按 [上傳外掛],選擇新版本的 zip 再按 [立即安裝],就會出現同一外掛已存在的提示,以及把目前版本與上傳版本並排比較的表格。

上傳外掛畫面:這個外掛已安裝提示、目前外掛與上傳外掛的版本比較表、使用已上傳版本取代現有版本按鈕,左側選單 外掛 › 安裝外掛(WordPress 7.1.3)

按表格下方的 [使用已上傳版本取代現有版本],就會移除目前的外掛並安裝上傳的版本。完成後出現 [外掛已成功更新。],可以用下方的 [啟用外掛] 立刻啟用。停用中的 Maintenance 用這個方式從 4.31 換成 4.32 的期間,訪客端畫面沒有 503,維持原樣。

外掛上傳結果畫面:正在安裝上傳的外掛檔案、正在移除目前版本外掛、外掛已成功更新(WordPress 7.1.3)

同一個畫面也能用來退回。在已安裝 4.32 的狀態下上傳 4.31 的 zip,上傳那一側的版本變成紅字,並附上正在上傳舊版本、請先備份的提示。照樣取代後,伴隨 [外掛已成功降級。] 訊息回到了 4.31。

上傳外掛畫面:上傳舊版 zip 時的紅色版本號與舊版本提示、使用已上傳版本取代現有版本按鈕,左側選單 外掛 › 安裝外掛(WordPress 7.1.3)

更新後網站壞掉時,可以用這個方法馬上回到上一個版本。舊版 zip 的取得方式:在 WordPress.org 的外掛頁面開啟 [Advanced View],在下方 [Previous Versions] 選擇版本後按 [Download],就會存到電腦裡。

5️⃣ 以 WP-CLI 更新

  • ↪️ wp plugin update 指令與安裝舊版本

能用 SSH 進入伺服器的話,用 WP-CLI一行指令就能完成。只提供檔案管理員的共用主機無法使用,請改用上面的畫面方法。

只想看有新版本的外掛時,加上 [--update=available]。

wp plugin list --update=available --fields=name,status,version,update_version
name                     status    version  update_version
all-in-one-wp-migration  inactive  7.112    7.113
essential-blocks         active    6.5.1    6.5.2
maintenance              inactive  4.31     4.32

更新時寫上外掛名稱執行。從下載到移除舊版本逐行輸出,最後以表格整理版本如何變化。

wp plugin update maintenance
正在從 https://downloads.wordpress.org/plugin/maintenance.4.32.zip 下載更新套件...
正在解壓縮更新套件...
正在安裝最新版本...
正在移除舊版外掛...
外掛已成功更新。
Success: Updated 1 of 1 plugins.
name         old_version  new_version  status
maintenance  4.31         4.32         Updated

要退回舊版本時,在 install 加上 [--version] 與 [--force]。即使已有同名外掛,也會先刪除再安裝那個版本。

wp plugin install maintenance --version=4.31 --force
Installing Maintenance (4.31)
正在從 https://downloads.wordpress.org/plugin/maintenance.4.31.zip 下載安裝套件...
正在解壓縮安裝套件...
正在安裝外掛...
正在移除舊版外掛...
外掛已成功更新。
Success: Installed 1 of 1 plugins.

停用中的 Maintenance 用 WP-CLI 升級又降級的期間,訪客端畫面同樣沒有 503,維持原樣。

🔢 FAQ & 推薦內容

從 WordPress 6.3 起,更新前會先把外掛資料夾移到 [wp-content/upgrade-temp-backup] 底下,若新檔案安裝失敗,就把那份副本放回原處。更新成功時副本會刪除,殘留的部分由每週執行的 [wp_delete_temp_updater_backups] 排程工作清理。

更新只會替換外掛資料夾裡的檔案,設定仍保留在資料庫中。把五個外掛降到舊版本再升回來的期間,前後比對選項清單,沒有任何項目改變。

執行 [wp plugin update --all] 會更新所有有新版本的外掛,並可用 [--exclude=名稱] 指定要略過的外掛。加上 [--dry-run] 則不會實際變更,只輸出將會更新的清單。

在「已安裝的外掛」畫面的 [自動更新] 欄按下 [啟用自動更新],有新版本時 WordPress 就會自行更新該外掛。WordPress 每天執行兩次自動更新。已啟用的外掛有新版本時,連結下方會顯示距離下次自動更新的剩餘時間。

ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Prove your humanity: 3   +   8   =