Wordpress重定向用户角色

时间:2017-07-11 15:53:12

标签: php wordpress user-roles

我使用带有用户角色的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 个答案:

答案 0 :(得分:0)

您似乎正在挂钩/的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,所以请告诉我它是否有效。