我创建了一个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>"; }**
}
答案 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/