更新此答案下面的原始代码将删除nag屏幕,但它会在每次加载时ping服务器以获取更新,多亏了@El Yobo,请参阅下面的更新。
这将对除超级管理员以外的所有人禁用核心更新和nag屏幕。
add_action( \'after_setup_theme\', \'remove_core_updates\' );
function remove_core_updates()
{
if ( ! current_user_can( \'update_core\' ) ) {
return;
}
add_action( \'init\', create_function( \'$a\', "remove_action( \'init\', \'wp_version_check\' );" ), 2 );
add_filter( \'pre_option_update_core\', \'__return_null\' );
add_filter( \'pre_site_transient_update_core\', \'__return_null\' );
}
禁用所有插件通知;
remove_action( \'load-update-core.php\', \'wp_update_plugins\' );
add_filter( \'pre_site_transient_update_plugins\', \'__return_null\' );
要删除一个特定的插件,你可以尝试这样做,但它不是百分之百的工作取决于插件;
function ya_remove_plugin_update($value) {
$plugin_relative_path = "plugin_relative_path"; // change this to your plugin
unset( $value->response[ $plugin_relative_path ] );
return $value;
}
add_filter( \'site_transient_update_plugins\', \'ya_remove_plugin_update\' );
<小时>
Updated
这将完全禁用更新(我无法根据用户角色使其工作)
并停止ping更新(它将抛出一个PHP警告,不知道如何在不改变核心的情况下修复此问题)。function remove_core_updates(){
global $wp_version;
return (object) array(
\'last_checked\' => time(),
\'version_checked\' => $wp_version,
);
}
add_filter(\'pre_site_transient_update_core\', \'remove_core_updates\');
add_filter(\'pre_site_transient_update_plugins\', \'remove_core_updates\');
add_filter(\'pre_site_transient_update_themes\', \'remove_core_updates\');