是的,WordPress有一个广泛的Action Hooks和Filters列表。这些允许您以编程方式添加/删除和修改功能或输出。
有一个名为login_redirect
的过滤器,您可以将其绑定到用户角色或您想要的任何其他内容。
function role_based_login_redirect( $redirect_to, $request, $user ){
// Make sure this is a valid user on this site
if( isset( $user->roles ) && is_array( $user->roles ) ){
if( in_array( 'subscriber', $user->roles ) ){
// If user is a Default Role Subscriber
$redirect_to = site_url( '/custom-subscriber-page/' );
} else if( in_array( 'teacher', $user->roles ) ){
// If user is a Custom Role of "Teacher"
$redirect_to = admin_url( 'admin.php?page=teacher-custom-page' );
}
}
return $redirect_to;
}
add_filter( 'login_redirect', 'role_based_login_redirect', 10, 3 );