我们可以检查$request 传递给我们的login_redirect 使用筛选函数url_to_postid.
// redirect subscribers if logging in from specific page
function wpse381872_login_redirect( $redirect_to, $request, $user ) {
// turn the request url into a post-id
$request_id = url_to_postid( $request );
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
// check for subscribers logging in via 1865
if ( 1865 === request_id && in_array( \'subscriber\', $user->roles ) ) {
$redirect_to = \'http://destredirectedpage.php\';
}
}
return $redirect_to;
}
add_filter( \'login_redirect\', \'wpse381872_login_redirect\', 10, 3 );