WordPress自动更新管理插件

原因

因为WordPress的自动更新让我非常困扰,会让新版本和当前使用的主题不兼容导致出现问题

所以自己做了一个简单的WordPress停止更新插件

插件代码

1. 创建插件文件夹和文件

在你的 WordPress 根目录的 wp-content/plugins/ 下:

  1. 新建一个文件夹,比如 disable-auto-updates

  2. 在文件夹里新建一个 PHP 文件,文件名和文件夹同名,比如 disable-auto-updates.php

2. 写入完整插件代码

打开 disable-auto-updates.php,粘贴以下代码:

<?php
/**
 * Plugin Name: 禁用自动更新
 * Plugin URI:  https://example.com
 * Description: 完全禁用 WordPress 核心、插件、主题、翻译的自动更新。
 * Version:     1.0
 * Author:      你的名字
 * Author URI:  https://example.com
 * License:     GPLv2 or later
 */

// 防止直接访问
if (!defined('ABSPATH')) {
    exit;
}

// 禁用核心自动更新(必须在 wp-config.php 中设置,插件中无效)
// 注意:核心禁用仍需要在 wp-config.php 中添加 define('WP_AUTO_UPDATE_CORE', false);
// 但为了提醒,我们在插件激活时检查一下
add_action('admin_notices', function() {
    if (!defined('WP_AUTO_UPDATE_CORE') || WP_AUTO_UPDATE_CORE !== false) {
        echo '<div class="notice notice-warning"><p><strong>提示:</strong> 核心自动更新未完全禁用。请在 <code>wp-config.php</code> 中添加 <code>define(\'WP_AUTO_UPDATE_CORE\', false);</code></p></div>';
    }
});

// 禁用插件自动更新
add_filter('auto_update_plugin', '__return_false');

// 禁用主题自动更新
add_filter('auto_update_theme', '__return_false');

// 禁用翻译自动更新
add_filter('auto_update_translation', '__return_false');

// 额外:禁用大版本、小版本自动更新(可选,但核心禁用后一般不需要)
// add_filter('allow_minor_auto_core_updates', '__return_false');
// add_filter('allow_major_auto_core_updates', '__return_false');

3. 启用插件

  1. 进入 WordPress 后台 → 插件 → 已安装的插件

  2. 找到 “禁用自动更新”(你刚创建的插件)

  3. 点击 “启用”

重要:核心禁用仍需在 wp-config.php 中设置

因为插件的加载时间晚于 wp-config.php,所以 define('WP_AUTO_UPDATE_CORE', false); 必须 放在 wp-config.php 中,插件无法替代。

但上面的插件会在后台给出一个提醒(如果你忘记加的话)。

核心禁用:在 wp-config.php 中加一行

记住位置应该放在

define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. (必须在这之后)*/

增加的代码放在这里

/* That's all, stop editing! Happy publishing. (必须在这之前)*/

增加的代码为

/**禁用自动更新*/
define('WP_AUTO_UPDATE_CORE', false);

插件/主题/翻译禁用:使用上面制作的插件,并在后台启用

这样:

  • 所有自动更新完全关闭

  • 换多少次主题都不影响

  • 插件可以随时停用(比如临时需要自动更新某个插件)

  • 不需要安装其他臃肿的管理插件(如 Easy Updates Manager)

但核心禁用无法通过插件完全实现(因为执行顺序限制)。

所以:

  • 在 wp-config.php 中保留核心禁用

  • 插件只负责其他三项

这是最干净的做法。

给TA打赏
共{{data.count}}人
人已打赏
技术

让Linux机器的时间永远停留在固定一个时间

2026-6-15 5:00:09

技术

使用Cloudflare Tunnel进行内网穿透

2026-6-15 5:25:59