2015-01-25 3 views
1

Я пытаюсь сделать дополнительную вкладку в меню «Профиль пользователя» в 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 ", но когда я нажимаю i, меня направляют на другую страницу (http://localhost/my-site/members/my-user/tester/), где содержимое с 'tester.php' отображается над активностью пользователя.

Заранее спасибо.

ответ

4

Это поможет,

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)); 
    } 
} 
+0

Спасибо. Это было очень полезно. – Halnex

+1

'bp_nav' устарел. Вместо этого используйте 'bp_get_current_group_slug()'. Например: ''parent_slug' => bp_get_current_group_slug();' –

+0

Дополнительная вкладка Sub отображается только как содержимое и не имеет собственного URL-адреса? Любое обновление? –

Смежные вопросы