更改默认用户配置文件 URL - BBpress 插件

Change default user profile URL - BBpress Plugin

Bbpress Wordpress 插件具有默认 link 用户配置文件 url。 link 像这样:www.example.com/forum/users/(username)

简而言之主要目的是:我想改变url。

实际上,我找到了解决方案,但并不完美。代码如下:

function user_profile_link(){
    $url = 'http://localhost/example.com/profile/';
    $author_id = bbp_get_reply_author_id();
    $user_info = get_userdata($author_id);
   
    echo '<a href="'.$url.''.$user_info->user_login.'"> '. $user_info->display_name.' </a>';

}
add_filter('bbp_get_user_profile_url', 'user_profile_link');

是的,代码运行良好。但结果是,用户配置文件 URL 没有被替换,并且有双 URL 如下图所示:

image1

如果我显示:none,我想问题就解决了。代码如下:

<style>
.bbp-author-link{
    display: none;
}

</style>

但是有一个问题。我制作的新 URL 出现在面包屑旁边,如下图:

image2

我想删除出现在面包屑旁边的 link。有什么解决办法吗?任何帮助表示赞赏。谢谢

在过滤器挂钩中,您通常必须通过返回来覆盖当前值。因此,尝试使用您已经创建的函数返回新值。它可能会删除重复项。

此外,使用 site_url() 而不是 $url 变量,因为当您使用硬编码 URL.

时会出现问题
function user_profile_link(){
    $author_id = bbp_get_reply_author_id();
    $user_info = get_userdata($author_id);

    return site_url()."/profile/".$user_info->user_login;

}
add_filter('bbp_get_user_profile_url', 'user_profile_link');

对于这个问题,我找到了解决方案。

代码是这样的:

function user_profile_link(){

    $author_id = bbp_get_reply_author_id();
    $user_info = get_userdata($author_id);

    $url = site_url()."/profile/".$user_info->user_login;

    return $url;

}
add_filter('bbp_get_user_profile_url', 'user_profile_link');