将自定义选项卡和页面添加到BuddyPress配置文件页面

时间:2015-01-25 23:11:33

标签: wordpress wordpress-plugin buddypress

我正在尝试在BuddyPress的用户个人资料菜单中创建一个额外的标签。 到目前为止,我可以看到菜单中的选项卡,但是当我单击选项卡时,我被定向到另一个页面,在那里我可以看到内容在所有内容之上以及包含用户活动的列表,而不是看到内容在菜单下(例如,当您单击活动,朋友,消息等时) 我希望这有道理......这是我的代码:

 function my_setup_nav() {
    global $bp;

    bp_core_new_nav_item( array( 
          'name' => __( 'Tester', 'buddypress' ), 
          'slug' => 'tester', 
          'position' => 30,
          'screen_function' => 'test_template', 
    ) );
  }

  function test_template() {
    add_action( 'bp_template_content', 'test_template_two' );
    bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) );
  }

  function test_template_two() { 
    locate_template( array( 'buddypress/members/single/tester.php' ), true );
  }

所以,我可以看到带有“Tester”文本的标签,但是当我点击时我被定向到另一个页面(http://localhost/my-site/members/my-user/tester/),其中“tester.php”的内容显示在用户上方活性。

提前谢谢。

2 个答案:

答案 0 :(得分:5)

这会有所帮助,

function profile_new_nav_item() {

    global $bp;

    bp_core_new_nav_item(
    array(
        'name'                => 'Extra Tab',
        'slug'                => 'extra_tab',
        'default_subnav_slug' => 'extra_sub_tab', // We add this submenu item below 
        'screen_function'     => 'view_manage_tab_main'
    )
    );
}

add_action( 'bp_setup_nav', 'profile_new_nav_item', 10 );

function view_manage_tab_main() {
    add_action( 'bp_template_content', 'bp_template_content_main_function' );
    bp_core_load_template( 'template_content' );
}

function bp_template_content_main_function() {
    if ( ! is_user_logged_in() ) {
        wp_login_form( array( 'echo' => true ) );
    }
}

function profile_new_subnav_item() {
    global $bp;

    bp_core_new_subnav_item( array(
        'name'            => 'Extra Sub Tab',
        'slug'            => 'extra_sub_tab',
        'parent_url'      => $bp->loggedin_user->domain . $bp->bp_nav[ 'extra_tab' ][ 'slug' ] . '/',
        'parent_slug'     => $bp->bp_nav[ 'extra_tab' ][ 'slug' ],
        'position'        => 10,
        'screen_function' => 'view_manage_sub_tab_main'
    ) );
}

add_action( 'bp_setup_nav', 'profile_new_subnav_item', 10 );

function view_manage_sub_tab_main() {
    add_action( 'bp_template_content', 'bp_template_content_sub_function' );
    bp_core_load_template( 'template_content' );
}

function bp_template_content_sub_function() {
    if ( is_user_logged_in() ) {
        //Add shortcode to display content in sub tab
    } else {
        wp_login_form( array( 'echo' => true ) );
    }
}

答案 1 :(得分:0)

结帐BuddyPress Custom Profile Menu plugin。它允许您将常规WordPress菜单附加到BuddyPress用户配置文件页面。