WordPress 有一個很好的優點,就是可以線上自動更新主題、插件及翻譯,可以獲得很好的安全性,但這一項優點有時卻也是缺點,每次登入都去檢查更新除了速度會被拖慢外,直接在線上做更新是一個很危險的事,很容易造成相容性的問題而造成WordPress崩潰,這種情況就不是一般使用者能去應付的了,所以筆者習慣一段時間再開啟更新,檢查更新,確定完整備份完成後,再行更新,若發生問題,馬上就可以縮小範圍的去找出問題,更新的細節本篇先不討論,以下將介紹兩個關閉自動更新的方法。
方法一:透過wp-config.php來設定更新
這個方法最簡單,WordPress已經貼心地做了一個常數,讓我們簡單控制自動更新開啟與關閉,但缺點就是全關或者是全開,在WordPress安裝目錄中的wp-config.php裡面設定
關閉所有類型的自動更新:
官方不建議這麼做
define( 'AUTOMATIC_UPDATER_DISABLED', true );
WordPress 核心更新:
關閉主要版本更新
define( 'WP_AUTO_UPDATE_CORE', false );
預設值是開啟的
define( 'WP_AUTO_UPDATE_CORE', true );
啟用WordPress 核心次要版本更新,主要版本及開發版本關閉
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
WP_AUTO_UPDATE_CORE可以用三個值之一來定義,每個值都產生不同的行為:
- true – 開發,次要和主要更新都啟用
- false – 開發,次要和主要更新都被禁用
- ‘minor’ – 啟用次要更新,開發和主要更新都被禁用
請注意,只有已運行開發版本的站點才會收到開發更新。
方法二:透過filter來設定更新
建立一個插件,或是在主題目錄中的 funciton.php,
通常檔案位置會在/wp-content/themes/主題名稱/function.php
關閉所有類型的自動更新
官方不建議這麼做
add_filter( 'automatic_updater_disabled', '__return_true' );
WordPress 核心更新:
開啟為‘__return_true’ 關閉為‘__return_false’
所有核心更新
add_filter( 'auto_update_core', '__return_true' );
主要、次要、開發版本更新
add_filter('allow_dev_auto_core_updates','__return_true'); //啟用開發更新
add_filter('allow_minor_auto_core_updates','__return_true'); //啟用次要更新
add_filter('allow_major_auto_core_updates','__return_true'); //啟用主要更新
其他更新:
插件更新
add_filter( 'auto_update_plugin', '__return_false' );
主題更新
add_filter( 'auto_update_theme', '__return_false' );
翻譯更新
add_filter('auto_update_translation','__return_false');