有时候我们对 WordPress 的主题或者插件做了修改时,就不希望再对这个插件进行更新,因为更新会覆盖你的修改,但是 WordPress 会自动检测插件与主题的更新的,这个时候我们可以手动关闭 WordPress 插件与更新的更新检查。本文分享禁止指定插件更新以及禁止所有插件与主题更新的方法。
一、禁止指定插件更新
有时候我们只需要禁止某个插件的更新请求,毕竟插件的更新可能时 bug 的修复,一般来说还是建议跟着官方版本走的。如果你想关闭指定插件的更i性能,那么可以在 functions.php 中加入以下代码:
function remove_update_notifications( $value ) { if ( isset( $value ) && is_object( $value ) ) { unset( $value->response[ 'wp-coupons-and-deals/wp-coupons-deals.php' ] ); } return $value; } add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );
这里我想禁止的是 WP Coupons and Deals 这个插件的更新,你只需要将 wp-coupons-and-deals/wp-coupons-deals.php
改成你想要禁止更新的那个插件根目录下的 php 文件即可,一般来说是插件名.php。
二、禁止所有插件与主题更新
在 functions.php 中加入以下代码即可禁止 WordPress 所有插件与主题更新请求,每一行的代码都有解释,大家可以按需选择:
// 彻底关闭自动更新 add_filter('automatic_updater_disabled', '__return_true'); // 关闭更新检查定时作业 remove_action('init', 'wp_schedule_update_checks'); // 移除已有的版本检查定时作业 wp_clear_scheduled_hook('wp_version_check'); // 移除已有的插件更新定时作业 wp_clear_scheduled_hook('wp_update_plugins'); // 移除已有的主题更新定时作业 wp_clear_scheduled_hook('wp_update_themes'); // 移除已有的自动更新定时作业 wp_clear_scheduled_hook('wp_maybe_auto_update'); // 移除后台内核更新检查 remove_action( 'admin_init', '_maybe_update_core' ); // 移除后台插件更新检查 remove_action( 'load-plugins.php', 'wp_update_plugins' ); remove_action( 'load-update.php', 'wp_update_plugins' ); remove_action( 'load-update-core.php', 'wp_update_plugins' ); remove_action( 'admin_init', '_maybe_update_plugins' ); // 移除后台主题更新检查 remove_action( 'load-themes.php', 'wp_update_themes' ); remove_action( 'load-update.php', 'wp_update_themes' ); remove_action( 'load-update-core.php', 'wp_update_themes' ); remove_action( 'admin_init', '_maybe_update_themes' );