WordPress对所有用户和对管理员以外用户隐藏管理工具栏

2024-08-22 14:07:29 浏览数 (2)

要在WordPress中通过代码对所有用户隐藏管理工具栏(也称为工具栏或admin bar),您可以将以下代码添加到主题的functions.php文件中。这段代码使用了show_admin_bar函数配合__return_false回调,来确保无论用户角色如何,都不会显示管理工具栏。

代码语言:txt复制
function remove_admin_bar() {
    return false;
}
add_filter('show_admin_bar', '__return_false');

这段代码的工作原理很简单:show_admin_bar是一个过滤器(filter),它决定了是否应该显示管理工具栏。通过向这个过滤器添加一个回调函数__return_false,我们告诉WordPress不要显示管理工具栏。__return_false是WordPress核心提供的一个便捷函数,它不接受任何参数并始终返回false

请注意,虽然这种方法对所有用户都有效,但WordPress用户仍然可以在他们的个人资料设置中尝试启用工具栏(尽管这个设置将不会有任何效果,因为您已经通过代码全局禁用了它)。

如果您想要根据用户角色来决定是否显示工具栏,您可以使用current_user_can()函数来检查用户的角色,并相应地调整show_admin_bar过滤器的返回值。以下是一个示例,展示了如何为除管理员以外的所有用户隐藏工具栏:

代码语言:txt复制
function conditional_remove_admin_bar($show) {
    if (!current_user_can('manage_options')) {
        $show = false;
    }
    return $show;
}
add_filter('show_admin_bar', 'conditional_remove_admin_bar');

在这个例子中,current_user_can('manage_options')检查用户是否具有管理选项的权限,这通常是管理员角色的特征。如果用户没有这个权限(即他们不是管理员),函数将$show变量设置为false,从而隐藏工具栏。对于管理员用户,函数将保留$show的原始值(通常是true,除非通过其他方式被修改),因此他们仍然会看到工具栏。

内容备份发布WordPress对所有用户和对管理员以外用户隐藏管理工具栏|米娜娜 (213721.xyz)

0 人点赞