使用BuddyPress,我试图将所有注册用户重定向到他们的用户配置文件;但是,当重定向结果URL时,不包括用户登录名。。。因此,每个用户都会重定向到“域/成员/”。
如何让用户名显示在URL中,然后重定向到以下内容:"域/成员/用户名/"?
功能。PHP
add_filter('login_redirect', function ($redirect_to, $request, $user){
if (user_can($user, 'registered')){
$current_user = wp_get_current_user();
return '/members/' . $current_user->user_login . '/';
}
}
function redirect_to($new_location) {
header("Location: " . $new_location);
exit;
}
重定向函数调用此函数作为重定向到(“重定向页面”);
不依赖硬编码段塞的更好方法:
return bp_core_get_user_domain( $user->ID );
如WordPress Codex中所述:“current_user全局可能在运行该过滤器时不可用。因此,您应该使用$user global或传递给此筛选器的$user参数。"
https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect
add_filter('login_redirect', function ($redirect_to, $request, $user){
if (user_can($user, 'registered')){
return bp_core_get_user_domain( $user->ID );
}
}