这是将“编辑我的个人资料”链接与我的BuddyPress“扩展个人资料”链接进行切换的正确方式吗?

时间:2015-01-25 作者:hnnnng

我正在使用启用的多站点功能。我有一个主站点和一个社区站点。在主站点上,“编辑我的个人资料”链接指向此链接:

http://www.mysitename.com/community/wp-admin/profile.php
但当我访问我的社区网站时,“编辑我的个人资料”链接指向此链接:

http://www.mysitename.com/community/members/username/profile/edit/
我想在主网站上的链接显示我的社区网站显示的确切链接,这是一个扩展的BuddyPress配置文件。因此,我继续将此过滤器添加到我的主站点功能中。php:

add_filter( \'edit_profile_url\', \'my_modified_profile_url\', 10, 3 );

function my_modified_profile_url( $url, $user_id, $scheme )
{
    $current_user = wp_get_current_user();
    $url = site_url( \'/community/members/\' . $current_user->user_login . \'/profile/edit/\' );
    return $url;
}
这将返回我想要的准确URL,并在URL中包含用户名,这是完美的。这是正确的做法吗?

我在此行中使用了$user\\u id:

$url = site_url( \'/community/members/\' . $user_id . \'/profile/edit/\' );
但这返回了用户ID号,链接被中断。

1 个回复
SO网友:ezkay

下面是我所做工作的一个例子:

<?php 
    $link = home_url( \'/members/\' . bp_core_get_username( bp_displayed_user_id() ) . \'/followers/\' );
    echo "<a href=\'". esc_attr( $link ) ."\'>Followers</a>";
?>
所以也许是home_url 现在,比site\\u url。在回声中,esc_attr 给出$链接。

改变整体bp_core_get_username( bp_displayed_user_id() ) 无论你需要什么-wp_get_current_user() 例如

结束

相关推荐

Filters on Login Page

我正在尝试使用修改登录页built in filters. add\\u操作按预期工作,但我无法使筛选器工作。这是我函数中的代码。php:add_filter( \'login_form_top\', \'filter_top_login\' ); function filter_top_login( $content ) { return \'This is what I want it to say!\'; } 但当我加载wp登录时,它似乎没有做任何