用户角色的 Wordpress 重定向

Posted

技术标签:

【中文标题】用户角色的 Wordpress 重定向【英文标题】:Wordpress Redirect for User Role 【发布时间】:2017-12-15 19:06:57 【问题描述】:

我正在使用带有用户角色的 Wordpress,当他们尝试访问 / 时,该用户角色应重定向到 /userrole。谁能帮我吗?我尝试了一些东西,但它不起作用。

这是我迄今为止尝试过的:

function redirect_users_by_role()  
   $current_user = wp_get_current_user(); 
   $role_name = $current_user->roles[0];
   if('specuserrole' === $role_name)  
      wp_redirect('website.com/userole'; );  
    
   add_action( '/'', 'redirect_users_by_role' );

【问题讨论】:

你试过的东西是什么? 【参考方案1】:

您似乎正在连接一个不存在的/ WordPress 操作。我不确定您是否了解了您可以执行哪些操作,但有一个完整列表 here。

基于此,您似乎想加入一个动作,检查我们是否在首页,然后进行相应的重定向。考虑到这一点,我建议如下:

function redirect_users_by_role()  
   $current_user = wp_get_current_user(); 
   $role_name = $current_user->roles[0];
   if('specuserrole' === $role_name && is_page('home'))  
      wp_redirect('website.com/userole');
      exit(); 
    
  
add_action('init', 'redirect_users_by_role');

我们现在连接到init 操作,因为 WordPress 告诉我们此时我们有一个完全经过身份验证的用户。然后,我们使用is_page('home') 检查当前页面是否为主页,然后根据需要执行重定向逻辑。

它没有经过测试,因为我手头没有 WordPress 安装,所以请告诉我它是否有效。

【讨论】:

以上是关于用户角色的 Wordpress 重定向的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress登录页面重定向到普通用户的Woocommerce我的帐户页面

根据角色将不同的用户重定向到 Keycloak 登录的不同页面

Visual C# - 根据用户角色将用户重定向到不同的窗体

将用户重定向到 PHP Wordpress 中的目标页面

WordPress用户登录后重定向到指定页面

Symfony 登录表单根据用户角色重定向