用户角色的 Wordpress 重定向

Wordpress Redirect for User Role

我正在使用具有用户角色的 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' );

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