隐藏普通用户的 WordPress 更新通知
在 WordPress 后台,所有用户默认都会看到核心、主题和插件的更新通知。对于多用户网站,你可能希望只允许管理员(或具有特定权限的用户)看到这些通知,以避免普通用户感到困惑或进行不必要的操作。
实现方法
将以下代码添加到你的主题的 functions.php 文件或一个自定义功能插件中:
/**
* 隐藏非管理员用户的 WordPress 更新通知
*/
function hide_update_notice_for_non_admins() {
if ( ! current_user_can( 'update_core' ) ) {
remove_action( 'admin_notices', 'update_nag', 3 );
}
}
add_action( 'admin_head', 'hide_update_notice_for_non_admins', 1 );
代码说明
- 函数逻辑:该函数检查当前用户是否拥有
update_core权限(这是管理员角色的核心权限之一)。如果不具备此权限,则通过remove_action移除触发更新通知的钩子update_nag。 - 钩子选择:使用
admin_head动作钩子,确保在后台头部加载时执行此检查,从而在通知显示前将其移除。 - 权限判断:使用
current_user_can('update_core')是判断用户是否为管理员或具有更新权限的标准方法,比直接检查用户角色更灵活。
注意事项
- 此方法仅隐藏了核心更新的主要通知。某些插件或主题的更新通知可能通过其他钩子触发,需要单独处理。
- 如果你希望允许编辑者等角色也能看到更新通知,可以修改权限检查条件,例如使用
current_user_can('manage_options')或自定义能力。 - 对
functions.php进行修改前,建议先创建子主题或备份原文件。
提示:对于更精细的控制(例如隐藏插件或主题的特定更新通知),你可能需要查找并移除对应的钩子。使用“Query Monitor”等开发插件可以帮助你识别后台页面加载的所有动作钩子。