如果用户不是管理员,则从页面重定向

时间:2020-09-03 作者:Paolo Montalto

我有一个Wordpress页面,应该只对管理员可见。如果任何其他类型的用户角色或已注销的访问者试图访问主页,则应将其重定向到主页。

我发现的大多数代码片段都适合在登录后进行重定向,甚至可以根据用户角色进行重定向。由于我没有在我的网站上注册,基本上没有角色,只有访问者和管理员。

有什么想法或者去哪里找吗?

1 个回复
SO网友:t2pe

这方面的基本原则很简单,但如果不了解更多,就很难说如何在您的案例中实现它。

if ( !is_user_logged_in() ) {
    auth_redirect();
}
将未登录的用户重定向到登录页面

if (current_user_can(\'administrator\'))
将用于确定某人是否具有管理员角色。

如何实现这一点是另一回事。最近,我为登录用户制作了一个自定义页面模板,仅用于查看数据,我只是将上面的第一段代码放在模板的顶部,其余页面代码放在“else”语句中。这可以进一步扩展,以确定用户是否也是管理员。但是,您也可以通过将逻辑应用于特定的页面ID或slug,使用动作挂钩来完成此操作,而无需使用自定义页面。类似于this.

以上内容可能足以帮助您,但如果没有,请在您的问题中发布更多详细信息。具体来说,您如何识别此特定页面?按ID/Slug或是否创建了模板?

相关推荐

如果is_page()不能与wp_reDirect一起使用

我安装了一个插件,它正在前端创建用户配置文件。此页面的ID在wordpress后端为301。如果访问了配置文件站点,我想在url后面附加一个参数。参数值存储在cookie中。用于附加URL的代码正在运行,但当我添加代码以仅在此页面id上显示时,它不起作用。代码在my child themes函数中执行。phpNOT WORKINGif( is_page(301)) { echo \'page\'; // Event ID in der URL als $_GET hinz