buddypress个人资料链接不正确的地方

时间:2014-03-17 11:32:42

标签: php wordpress buddypress

我创建了一个bp-custom.php并重新整理菜单项。但现在我想添加一个链接去/ site / members。它列出了所有成员。

当我添加它虽然它在我正在查看的配置文件下。如果有帮助,我将重定向到wordpress页面。或者有更好的方法来做到这一点。

前:

http://website.com/log-in/members/username/members/

我希望它只是在这里

http://website.com/log-in/members/

我很想知道如何只是放一个网址而不是一块子弹,但无论如何工作。我不知道为什么它继续引用登录/ member / username。我甚至尝试过父URL,但是没有用。我可能一直在使用父url语法错误。

这是函数

function mb_bp_profile_menu_posts() {
global $bp;
bp_core_new_nav_item(
array(
    'name' => 'Members',
    'slug' => 'members', 
    'position' => 60, 

     )
  );
}

我知道我可以为此创建.htaccess。但我不想这样做。

我可以知道这样做的干净方式(替代方式)是什么?

我已经尝试了用户在下面的评论中所说的内容,并在bp-members-template中找到了这个函数。然后我以粗体添加了部分以添加链接,但这不起作用。我只是添加一个谷歌链接进行测试。

 function bp_get_displayed_user_nav() {
global $bp;

foreach ( (array) $bp->bp_nav as $user_nav_item ) {
    if ( empty( $user_nav_item['show_for_displayed_user'] ) && !bp_is_my_profile() )
        continue;

    $selected = '';
    if ( bp_is_current_component( $user_nav_item['slug'] ) ) {
        $selected = ' class="current selected"';
    }

    if ( bp_loggedin_user_domain() ) {
        $link = str_replace( bp_loggedin_user_domain(), bp_displayed_user_domain(), $user_nav_item['link'] );
    } else {
        $link = trailingslashit( bp_displayed_user_domain() . $user_nav_item['link'] );
    }

    echo apply_filters_ref_array( 'bp_get_displayed_user_nav_' . $user_nav_item['css_id'], array( '<li id="' . $user_nav_item['css_id'] . '-personal-li" ' . $selected . '><a id="user-' . $user_nav_item['css_id'] . '" href="' . $link . '">' . $user_nav_item['name'] . '</a></li>', &$user_nav_item ) );
**echo "<a href='http://www.google.com'>Google</a>"; }**

}

1 个答案:

答案 0 :(得分:0)

bp_core_new_nav_item功能用于添加指向用户导航的链接,解释了在点击标签时您看到/members/username/members/等网址的原因。我不认为bp_core_new_nav_item是正确的做法。

另一种方法是替换主题模板中的功能,该功能使用您自己的自定义菜单输出导航。

请参阅BP模板层次结构中的这篇文章,其中介绍了如何设置自己的模板:

http://codex.buddypress.org/themes/theme-compatibility-1-7/template-hierarchy/