WordPress禁止全部、主题、插件自动更新的方法教程

WordPress 中禁止自动更新可以通过多种方法实现,主要涉及修改核心配置文件 wp-config.php 或使用过滤器(Filters)。以下是详细的步骤和方法:

📌 方法一:在 wp-config.php 中禁用所有自动更新(最彻底)

1、定位 wp-config.php 文件: 这个文件位于你的 WordPress 安装根目录(与 wp-adminwp-contentwp-includes 文件夹同级)。

2、编辑文件: 使用 FTP/SFTP 客户端、主机控制面板的文件管理器或 SSH 安全地编辑此文件。

3、添加代码: 在 <?php 之后,/* 好了!请不要再继续编辑。请保存本文件。使用博客! */ 这一行之前,添加以下代码:

// 完全禁用所有自动更新(核心、主题、插件、翻译)
define( 'AUTOMATIC_UPDATER_DISABLED', true );

4、保存并上传: 保存修改后的文件并上传回服务器(如果是在本地编辑的)。

🔧 方法二:精细控制不同类型的更新(推荐)

在 wp-config.php 中添加特定的常量来控制不同类型的更新:

1、禁用核心自动更新(包括安全更新)

// 禁用所有WordPress核心自动更新
define( 'WP_AUTO_UPDATE_CORE', false );
  • false: 禁用所有核心更新(主要、次要、开发版)。
  • minor(推荐安全选项) 仅禁用主要版本更新(如 6.4 -> 6.5),但允许次要版本和安全更新(如 6.4.1 -> 6.4.2)。强烈建议至少允许次要更新以获取安全补丁。
  • true: 启用所有核心更新(默认行为)。

2、禁用主题自动更新

// 禁用所有主题自动更新
define( 'AUTOMATIC_UPDATER_DOSABLED', false );

3、禁用插件自动更新

// 禁用所有插件自动更新
define( 'AUTOMATIC_UPDATER_DISABLED', false );

4、禁用翻译更新

// 禁用自动翻译更新
define( 'DISABLE_WP_CRON', true ); // 注意:这会禁用所有WordPress内置的定时任务,包括检查更新,副作用较大,不推荐只为禁用翻译更新。
// 更推荐使用过滤器(见方法三)禁用翻译更新

🛠 方法三:使用过滤器(Functions.php)进行更灵活控制

在主题的 functions.php 文件(位于 wp-content/themes/your-active-theme/)或自定义插件中添加代码。这种方法更灵活,可以基于条件控制。

1、禁用所有自动更新(核心、主题、插件)

add_filter( 'auto_update_core', '__return_false' ); // 核心
add_filter( 'auto_update_plugin', '__return_false' ); // 插件
add_filter( 'auto_update_theme', '__return_false' ); // 主题
add_filter( 'auto_update_translation', '__return_false' ); // 翻译

2、禁用核心主要版本更新(保留安全更新)

// 允许次要核心更新(安全更新),禁用主要更新
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
add_filter( 'allow_major_auto_core_updates', '__return_false' );

3、禁用特定插件或主题的自动更新

add_filter( 'auto_update_plugin', 'my_disable_specific_plugin_update', 10, 2 );
function my_disable_specific_plugin_update( $update, $item ) {
    // 禁用 'akismet' 插件的自动更新
    if ( $item->plugin === 'akismet/akismet.php' ) {
        return false;
    }
    return $update; // 其他插件按默认设置处理
}

类似地,可以使用 auto_update_theme 过滤器和 $item->theme(主题目录名)来禁用特定主题的更新。

⚠ 重要警告与建议

  • 安全风险: 禁用所有更新,尤其是核心的次要更新(安全更新),会使你的网站面临已知安全漏洞的攻击。🚨 强烈建议至少保留 define( 'WP_AUTO_UPDATE_CORE', 'minor' ); 以自动应用安全补丁。
  • wp-cron.php 与主机计划任务: WordPress 依赖 wp-cron.php 来触发更新检查。如果主机限制了 wp-cron.php 的执行(或没有设置服务器级的 Cron 任务来触发 wp-cron.php),自动更新可能不会发生,即使你启用了它们。禁用自动更新解决了这个问题,但忽略了安全风险。
  • 测试更新: 无论是否禁用自动更新,在将更新应用到生产环境之前,务必在暂存环境进行测试
  • 手动更新: 如果禁用了自动更新,你需要定期手动登录 WordPress 仪表盘检查并应用可用更新。这是保持网站安全、稳定和兼容性的关键步骤。
  • 插件替代方案: 有些插件(如 “Easy Updates Manager”)提供了图形界面来管理更新设置,可能比手动编辑代码更方便。

📋 总结推荐方案

1、最小化风险: 在 wp-config.php 中添加:

define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // 允许自动安全更新
define( 'AUTOMATIC_UPDATER_DISABLED', false ); // 允许主题和插件自动更新(或根据需要单独禁用)

然后定期手动检查和执行主要版本更新、主题和插件更新。

2、完全控制(承担更高安全风险): 在 wp-config.php 中添加:

define( 'AUTOMATIC_UPDATER_DISABLED', true ); // 一刀切禁用所有

但必须严格执行定期手动检查并立即应用所有更新(尤其是安全更新)的计划。 📅

选择哪种方法取决于你对网站稳定性、安全性和维护工作量的权衡。请务必优先考虑安全性。🔐

本文来自投稿,不代表谋盆百科网立场,如若转载,请注明出处:https://bk.moupen.com/p/49

(0)

猜你喜欢

发表回复

登录后才能评论