我正在尝试添加新的BuddyPress菜单选项卡,但它没有显示

时间:2012-03-21 作者:Joseph

问题:我正在尝试为我使用的好友新闻上的组创建一个新的子导航项bp_core_new_subnav_item 这样做并通过screen_function, 但该选项卡未显示在组页面上

你知道我应该在哪里看这个吗?

这是我们的密码。

bp_core_new_nav_item( array(
  \'name\' => \'Document List\',
  \'slug\' => \'group-document-list\',
  \'parent_url\' => $bp->loggedin_user->domain . $bp->groups->slug . \'/\',
  \'parent_slug\' => $bp->groups->slug,
  \'screen_function\' => \'group_document_list_function_to_show_screen\',
  \'position\' => 55 ) );

  function group_document_list_function_to_show_screen() {

   //add title and content here - last is to call the members plugin.php template
   add_action( \'bp_template_title\', \'group_document_list_function_to_show_screen_title\' );
   add_action( \'bp_template_content\', \'group_document_list_function_to_show_screen_content\' );
   bp_core_load_template( apply_filters( \'bp_core_template_plugin\', \'members/single/plugins\' ) );
}
function group_document_list_function_to_show_screen_title() {
    echo \'Documents for this group\';
}
function group_document_list_function_to_show_screen_content() {
   display_group_document_list();
}

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

确保仅在BP设置核心导航后才尝试设置项目。您可以通过挂接bp_setup_nav 优先级高于10.

因此:

function bbg_setup_nav() {
    bp_core_new_subnav_item( array( 
        \'name\' => \'Document List\',
        \'slug\' => \'group-document-list\',
        \'parent_url\' => $bp->loggedin_user->domain . $bp->groups->slug . \'/\',
        \'parent_slug\' => $bp->groups->slug,
        \'screen_function\' => \'group_document_list_function_to_show_screen\',
        \'position\' => 55
    ) );
}
add_action( \'bp_setup_nav\', \'bbg_setup_nav\', 100 );
请记住,正如所写的,此代码旨在向Groups 用户配置文件的子AV。如果要将其附加到单个组,则需要使用不同的parent_slugparent_url:

// ...
\'parent_slug\' => bp_get_current_group_slug(),
\'parent_url\'  => bp_get_group_permalink( groups_get_current_group() )
// ...
不过,老实说,如果要向BP组添加subnav项,最好使用BP组扩展APIhttp://codex.buddypress.org/developer-docs/group-extension-api/. 您只需填写几个方法,就可以完成所有特定于BP的导航逻辑。如果有方法(如create_screen() 你不会用的,把它们留空就行了。

结束

相关推荐

BuddyPress Group Home的查询WP页面

我为我的buddypress组创建了一个名为front的新主页模板。php。使用下面的代码,我试图显示名称与组名相对应的wp页面的内容。下面的循环实际上是显示页面。但它不是只显示相应页面的内容,而是显示所有页面的内容,这些页面的名称对应于bp组。我错过了什么?<?php $args = array( \'post_type\' => \'page\', /*\'pagename\' => bp_the_group()*/ ); query_posts( $arg