我使用带有用户角色的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' );
答案 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,所以请告诉我它是否有效。