我正在寻找一种方法来重定向我的批发用户。
我拥有批发商务设置的方式是根据我命名为"批发"的wordpress用户角色分配用户批发。
我希望保留常规用户的重定向而不做任何更改,但添加了将批发角色发送到另一个服装页面的方法。
我使用了Peters登录重定向和WordPress登录重定向,即使它具有该功能,这两个插件都不起作用 - 为自定义页面输入正确设置后的结果是默认的我的帐户页面。
有没有办法通过functions.php这样做?
答案 0 :(得分:0)
您可以直接从Peter's Login Redirect使用Codex或此示例。只需将administrator
切换为wholesale
或您的角色即可。
/**
* Redirect user after successful login.
*
* @param string $redirect_to URL to redirect to.
* @param string $request URL the user is coming from.
* @param object $user Logged user's data.
* @return string
*/
function my_login_redirect( $redirect_to, $request, $user ) {
//is there a user to check?
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 $redirect_to;
} else {
return home_url();
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
修改了将wholesale
角色的用户发送到自定义页面的codex示例:
/**
* Redirect wholesalers to custom page user after successful login.
*
* @param string $redirect_to URL to redirect to.
* @param string $request URL the user is coming from.
* @param object $user Logged user's data.
* @return string
*/
function my_login_redirect( $redirect_to, $request, $user ) {
//is there a user to check?
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'wholesale', $user->roles ) ) {
$redirect_to = 'http://example.com/wholesale';
}
}
return $redirect_to;
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );