2015-01-25 8 views
1

BuddyPress의 User Profile (사용자 프로필) 메뉴에서 추가 탭을 만들려고합니다. 지금까지는 메뉴의 탭을 볼 수 있지만 탭을 클릭하면 모든 것을 볼 수있는 다른 페이지로 이동하고 사용자 Activity가있는 목록을 볼 수 있습니다. "내가 텍스트로 탭을 볼 수 있습니다, 그래서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); 
    } 

: 나는 감각을 만들어 희망 ... 여기 (. 당신이 활동, 친구, 메시지, 요법 클릭 할 때와 같은) 메뉴 아래 내용은 내 코드입니다 테스터 "하지만, 내가 클릭하면 다른 페이지 (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

Extra Sub Tab은 내용이 같고 URL이없는 것일뿐입니다. 모든 업데이트 ? –