0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 自動更新怎麼設定?控制核心、外掛、佈景主題更新,別完全停用

plesk增加gzip壓縮

很多人都遇過:外掛自動更新之後,網站版面跑掉、功能壞掉。一氣之下,就把 WordPress 的更新全部關掉。

這篇 2015 年的舊版文章,教的就是「停用更新」。現在要先講清楚:關掉「自動」更新可以,但不要讓網站停止更新。WordPress 網站被入侵,很常見的原因就是核心或外掛太久沒更新,被人利用已經公開的漏洞進來。

先分清楚:停用「自動更新」和停用「更新」

  • 停用自動更新:WordPress 不會自己在背景更新,但後台仍然會提示有新版本,你確認沒問題後再手動更新。這是可以接受的做法。
  • 完全停用更新:連手動更新的按鈕都沒了,網站會一直停在舊版本,漏洞越積越多。不建議這樣做。

舊版文章用的 auto_update_plugin、auto_update_theme 其實屬於第一種,只關掉「自動」更新,後台還是可以手動更新。

方法一:用後台設定(最簡單,不用寫程式碼)

WordPress 核心

到「控制台 → 更新」,頁面上方可以切換核心的自動更新方式:

  • 只自動更新維護與安全性版本(小版本,例如 6.x.1 升到 6.x.2):這類更新主要是修正錯誤與漏洞,建議一定要保持自動更新。
  • 所有新版本都自動更新:連 6.x 升到 6.y 這種主要版本也會自動更新。

外掛

到「外掛 → 已安裝外掛」,每個外掛右邊的「自動更新」欄位,可以一個一個啟用或停用自動更新;也可以勾選多個外掛,用上方的「批次操作」一次設定。

佈景主題

到「外觀 → 佈景主題」,點開佈景主題的詳細資料,就可以啟用或停用自動更新。

建議的分法

  • 核心的維護與安全性版本:保持自動更新。
  • 小型、功能單純的外掛,以及安全性外掛:開啟自動更新。
  • 大型外掛(購物車、頁面編輯器、會員系統)與佈景主題:關閉自動更新,先備份、看過更新說明後再手動更新。

方法二:在 wp-config.php 用常數控制

wp-config.php 在網站根目錄,用 FTP 或主機的檔案管理員打開,下面的設定加在「That's all, stop editing!」那一行的上面。

控制核心的自動更新

PHP
// 只自動更新維護與安全性版本(建議)
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

WP_AUTO_UPDATE_CORE 可以設定三種值:

  • 'minor':只自動更新維護與安全性版本。
  • true:主要版本也會自動更新。
  • false:核心完全不自動更新。後台仍可手動更新,但安全性修補也不會自動安裝了,不建議。

設定這個常數之後,「控制台 → 更新」頁面的切換開關就以 wp-config.php 為準。

舊版文章寫的是小寫開頭的 wp_AUTO_UPDATE_CORE。PHP 的常數名稱有分大小寫,這樣寫是沒有作用的,要全部大寫。

這兩個常數會把更新整個關掉,要小心

PHP
define( 'AUTOMATIC_UPDATER_DISABLED', true );

停用所有自動更新,包含核心、外掛、佈景主題與翻譯,連安全性更新也不會自動安裝。

PHP
define( 'DISALLOW_FILE_MODS', true );

禁止在後台安裝、更新、刪除外掛與佈景主題,也不能在後台更新核心,自動更新也會一起停止。有些主機或開發者會為了鎖住網站加上這一行;如果你發現後台完全看不到更新按鈕,可以檢查 wp-config.php 裡有沒有它。

這兩個常數除非有專人用其他方式(例如版本控制、主機代管)負責更新,否則不建議使用。

方法三:用 filter 控制外掛、佈景主題的自動更新

這幾段加在 Code Snippets 外掛或子主題的 functions.php。建議用 Code Snippets:寫在佈景主題裡的程式碼,換佈景主題之後就失效了。

PHP
// 關閉所有外掛的自動更新(後台仍會提示新版本,可以手動更新)
add_filter( 'auto_update_plugin', '__return_false' );

// 關閉所有佈景主題的自動更新
add_filter( 'auto_update_theme', '__return_false' );

用程式碼設定之後,後台的自動更新開關就以程式碼為準。

更有彈性的寫法:其他外掛照後台的設定,只有特定幾個外掛強制不自動更新:

PHP
add_filter( 'auto_update_plugin', function ( $update, $item ) {
    // 這些外掛不自動更新,手動確認後再更新(填外掛的資料夾名稱)
    $manual = array( 'woocommerce', 'elementor' );
    if ( isset( $item->slug ) && in_array( $item->slug, $manual, true ) ) {
        return false;
    }
    return $update;
}, 10, 2 );

$item->slug 是外掛在 wordpress.org 上的代號,通常就是外掛的資料夾名稱。

其實大部分情況,直接用方法一的後台開關就夠了。程式碼比較適合「要把設定鎖住,不讓其他管理員改動」的情況。

一套兼顧安全與穩定的更新流程

  1. 更新前先備份:檔案與資料庫都要備份,主機的備份功能或備份外掛都可以。
  2. 看更新說明:大型外掛的大改版,先看更新記錄有沒有相容性提醒,例如需要更新的 PHP 版本。
  3. 能的話先在測試站更新:很多主機有一鍵建立測試站(Staging)的功能,在測試站確認沒問題再更新正式網站。
  4. 一次更新一個重要外掛:更新完到前台點一點主要頁面、表單、購物流程,有問題比較容易找出是哪一個。
  5. 固定時間檢查:至少每一兩週看一次「控制台 → 更新」。

更新後網站壞掉怎麼辦?

  • WordPress 發生嚴重錯誤時,會寄一封「復原模式」的信到管理員信箱,照信中的連結登入,就能停用出錯的外掛。
  • 收不到信的話,用 FTP 把出錯外掛在 wp-content/plugins/ 裡的資料夾改名,外掛就會停用,再視情況還原備份或換回舊版。
  • 外掛如果很久沒有更新、也沒有在新版 WordPress 測試過,可能已經沒人維護,建議找替代的外掛。

延伸閱讀

更新是網站維護裡最容易拖延、卻也最重要的一件事。正威網路行銷是 25 年經驗的基隆網頁設計工作室,服務台北與全台客戶,也提供網站維護託管,歡迎來聊聊。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!