提问者:小点点

正在尝试重定向到用户配置文件


使用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 . '/';
    }
}

共3个答案

匿名用户

    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 );
    }
}

相关问题