博客 / WordPress/ WordPress 隐藏普通用户的更新通知

WordPress 隐藏普通用户的更新通知

WordPress 隐藏普通用户的更新通知

隐藏普通用户的 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”等开发插件可以帮助你识别后台页面加载的所有动作钩子。

发表评论

您的邮箱不会公开。必填项已用 * 标注。