我试图强制将wordpress仪表板部分作为所有用户的欢迎消息并且失败。有没有人在登录时有一个强制订阅仪表板的功能?
// Redirect admin to the dashboard and other users elsewhere
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
function my_login_redirect( $redirect_to, $request, $user ) {
// Is there a user?
if ( is_array( $user->roles ) ) {
// Is it an administrator?
if ( in_array( 'administrator', $user->roles ) )
return home_url( '/wp-admin/' );
else
return home_url();
// return get_permalink( 83 );
}
}
答案 0 :(得分:0)
您必须检查是否设置了$user
,然后检查它是否为数组。如果启用了WP_DEBUG,这会阻止PHP通知。
然后,使用函数site_url()
和admin_url()
设置重定向:
add_filter( 'login_redirect', 'login_redirect_so_19305904', 10, 3 );
function login_redirect_so_19305904( $redirect_to, $request, $user )
{
if ( isset( $user->roles ) && is_array( $user->roles ) )
{
if ( in_array( 'administrator', $user->roles ) )
return admin_url( 'edit.php' ); // Goes to example.com/wp-admin/edit.php
else
return site_url( 'about' ); // Goes to example.com/about/
}
return $redirect_to;
}