一、关闭WordPress核心自动更新
方法1:修改wp-config.php文件
在网站根目录的wp-config.php文件中添加以下代码:
// 彻底关闭所有自动更新
define( 'AUTOMATIC_UPDATER_DISABLED', true );
// 或者单独控制不同类型的更新
define( 'WP_AUTO_UPDATE_CORE', false ); // 关闭核心自动更新
// define( 'WP_AUTO_UPDATE_CORE', true ); // 开启所有核心更新(包括大版本)
// define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // 仅开启小版本安全更新
方法2:使用过滤器(添加到主题的functions.php)
// 关闭所有自动更新
add_filter( 'automatic_updater_disabled', '__return_true' );
// 关闭核心更新邮件通知
add_filter( 'auto_core_update_send_email', '__return_false' );
// 关闭自动更新邮件通知
add_filter( 'automatic_updates_send_debug_email', '__return_false' );
二、关闭插件自动更新
方法1:代码方式(添加到functions.php)
// 关闭插件自动更新
add_filter( 'auto_update_plugin', '__return_false' );
// 或者根据条件判断(示例:仅关闭特定插件)
add_filter( 'auto_update_plugin', function($update, $item) {
// 如果想要特定插件不自动更新,可以在这里判断
// if ( $item->slug === 'plugin-slug' ) return false;
return false; // 全部关闭
}, 10, 2 );
方法2:数据库层面关闭
WordPress 5.5+版本引入了插件自动更新选项,存储在wp_options表的auto_update_plugins字段中。
三、关闭主题自动更新
代码方式(添加到functions.php)
// 关闭主题自动更新
add_filter( 'auto_update_theme', '__return_false' );
// 或者根据条件判断
add_filter( 'auto_update_theme', function($update, $item) {
// 例如:关闭特定主题的自动更新
// if ( $item->theme === 'theme-name' ) return false;
return false; // 全部关闭
}, 10, 2 );
四、完整的关闭代码(推荐方案)
将以下代码添加到主题的functions.php文件或自定义插件中:
/**
* 彻底关闭WordPress所有自动更新功能
*/
// 1. 关闭核心自动更新
add_filter( 'automatic_updater_disabled', '__return_true' );
define( 'AUTOMATIC_UPDATER_DISABLED', true );
// 2. 关闭核心更新(所有类型)
add_filter( 'auto_update_core', '__return_false' );
// 3. 关闭插件自动更新
add_filter( 'auto_update_plugin', '__return_false' );
// 4. 关闭主题自动更新
add_filter( 'auto_update_theme', '__return_false' );
// 5. 关闭翻译文件自动更新
add_filter( 'auto_update_translation', '__return_false' );
// 6. 关闭更新邮件通知
add_filter( 'auto_core_update_send_email', '__return_false' );
add_filter( 'automatic_updates_send_debug_email', '__return_false' );
// 7. 后台禁用自动更新选项显示
add_filter( 'plugins_auto_update_enabled', '__return_false' );
add_filter( 'themes_auto_update_enabled', '__return_false' );
// 8. 移除后台更新提醒(可选)
add_action('admin_menu', function() {
remove_submenu_page('index.php', 'update-core.php');
});
// 9. 关闭更新检查 cron 任务(可选,谨慎使用)
add_action('init', function() {
wp_clear_scheduled_hook('wp_version_check');
wp_clear_scheduled_hook('wp_update_plugins');
wp_clear_scheduled_hook('wp_update_themes');
});
注意事项
重要提示:
安全风险:关闭自动更新后,你需要手动定期更新以修复安全漏洞
建议做法:
关闭自动更新,但保留小版本安全更新(推荐):
define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // 仅自动更新安全补丁
add_filter( 'auto_update_plugin', '__return_false' );
add_filter( 'auto_update_theme', '__return_false' );
定期维护:建议每月至少手动检查一次更新
验证是否生效
添加代码后,可以通过以下方式验证:
后台查看:进入「仪表盘」→「更新」,看是否还有自动更新提示
数据库检查:查看wp_options表的auto_update_plugins和auto_update_themes字段
日志检查:查看服务器错误日志确认没有自动更新任务执行
以上方法可以彻底关闭WordPress的自动更新功能,根据你的技术能力和需求选择合适的方式即可。