如何禁止WordPress版本、主题和插件的自动更新

在WordPress中,你可以通过多种方式禁止自动更新。以下是针对不同类型更新的禁用方法:

1. 禁用所有自动更新(最彻底的方法)

在主题的 functions.php 文件或插件中添加以下代码:

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. 仅禁用核心自动更新

wp-config.php 文件中添加:

define( 'WP_AUTO_UPDATE_CORE', false ); // 禁用所有核心更新

或选择性禁用:

define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // 仅允许小版本更新(推荐)

3. 仅禁用插件或主题自动更新

wp-config.php 中添加:

define( 'AUTOMATIC_UPDATER_DISABLED', true ); // 禁用所有插件和主题更新

或使用过滤器在 functions.php 中禁用:

add_filter( 'auto_update_plugin', '__return_false' ); // 禁用插件更新
add_filter( 'auto_update_theme', '__return_false' );  // 禁用主题更新

4. 禁用特定插件或主题的自动更新

functions.php 中添加:

// 禁用特定插件更新(示例:禁用 WooCommerce)
add_filter( 'auto_update_plugin', function( $update, $item ) {
    if ( 'woocommerce/woocommerce.php' === $item->plugin ) {
        return false; // 禁用 WooCommerce 自动更新
    }
    return $update;
}, 10, 2 );

// 禁用特定主题更新(示例:禁用 Twenty Twenty-One)
add_filter( 'auto_update_theme', function( $update, $item ) {
    if ( 'twentytwentyone' === $item->theme ) {
        return false; // 禁用 Twenty Twenty-One 自动更新
    }
    return $update;
}, 10, 2 );

5. 通过服务器配置禁用(高级方法)

.htaccess 文件中添加:

# 禁用 WordPress 自动更新
<FilesMatch "(update-core|update.php|update-plugins.php|update-themes.php)">
    Order deny,allow
    Deny from all
</FilesMatch>

注意事项

  1. 安全风险:禁用自动更新可能导致网站暴露于安全漏洞,建议定期手动更新。
  2. 备份重要数据:更新前务必备份网站文件和数据库。
  3. 测试更新:在开发环境测试更新,确保兼容性。

根据你的需求选择合适的方法,推荐保留核心小版本更新(WP_AUTO_UPDATE_CORE = 'minor')以维持安全性。

阅读剩余
THE END