function admin_default_page($user) {
$url_home = get_site_url();
global $user;
// die(var_dump($user));
$roles = $user->roles;
if($role != 'subscriber'){
// exit( wp_redirect(home_url()));
return $url_home.'/wp-admin/edit.php?post_type=page';
}else{
return $url_home;
}
}
add_filter('login_redirect', 'admin_default_page',10,3);
$user仍然返回nullwordpress的codex谈三个论点https://developer.wordpress.org/reference/hooks/login_redirect/
如果我把这3个参数,我有php错误:";函数admin_default_page((的参数太少">
慢慢地,慢慢地好起来了,但是。。。。我必须添加
add_action('init', 'do_output_buffer');
function do_output_buffer() {
ob_start();
}
然后$user->角色仍然返回null,因此wordpress重定向到
$url_home.'/wp-admin/edit.php?post_type=page'
而不仅仅是
$url_home
首先,您将角色与未定义变量$role进行比较,我认为它应该是角色。其次,您还没有在addfilter中定义参数的数量在下面试试它应该可以
function admin_default_page($redirect_to, $request, $user) {
$url_home = get_site_url();
global $user;
// die(var_dump($user));
if(!in_array( 'subscriber', $user->roles )){
return $url_home.'/wp-admin/edit.php?post_type=page';
}else{
return $url_home;
}
}
add_filter('login_redirect', 'admin_default_page', 10, 3);