我为wordpress开发了一个插件,我想在登录后将不同的角色重定向到不同的页面。我使用下面的代码,它适用于我的localhost(我使用xamp),但是当我将我的插件上传到服务器时,它不起作用!在登录后,它只会保留在"wp-login.php"
中,当然页面会变白。
代码:
function loginRedirect( $redirect_to, $request, $user ){
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'administrator', $user->roles ) )
{
// redirect them to the default place
return home_url()."/wp-admin/";
} else if ( in_array( 'manager', $user->roles ) )
{
return home_url()."/wp-admin/admin.php?page=creat_mysite_list_entry";
}
else if ( in_array( 'jobholder', $user->roles ) )
{
if(have_contract_user($user->ID))
{
return home_url()."/wp-admin/admin.php?page=creat_mysite_register_entry";
}
else
{
return wp_logout_url();
}
}
}
}
add_filter("login_redirect", "loginRedirect", 10, 3);
答案 0 :(得分:0)
您可以尝试使用ob_start()
和ob_flush()
ob_start
在重定向的顶部,ob_flush
结束
像这样
ob_start();
header('Location:custompage.php');
ob_flush();