我正在尝试在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”的内容显示在用户上方活性。
提前谢谢。
答案 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用户配置文件页面。