2013-10-02 3 views
2

나는 Buddypress (1.8.1) 소셜 네트워킹 기능이있는 다중 사용자 Wordpress (3.6.1) 블로그 사이트가 있습니다. 나는 발췌문 형식으로 프로필 회원이 제출 한 게시물을 포함하는 불량배 회원 프로필에 탭을 추가하려고합니다. 더 이상 작동하지 않는 프로필의 BP Posts라는 플러그인이있었습니다. Buddypress.org에는이 누락 된 기능을 해결하지 못한 몇 가지 스레드가 있습니다. 나는 두 부분으로 도움을 찾고 있어요 : 1. 어떻게라는 Buddypress의 회원 프로필에 새 탭을 추가 "내 포스트"이 새 탭에 표시 회원 게시물의 목록을 얻을하는 방법 2.Buddypress 새 프로필 탭에 회원 게시물을 표시하는 방법

감사!

+0

활동 스트림을 활성화 했습니까? –

답변

7

직접 만들 수 있습니다. BuddyPress 회원 프로필에 새 메뉴 항목을 만들려면 플러그인의 기본 디렉토리에있는 BuddyPress의 bp-custom.php 또는 테마의 function.php에 다음 함수를 추가해야합니다.

function bp_content_setup_nav() { 
global $bp; 

bp_core_new_nav_item(array(
    'name'     => __('My Posts', 'buddypress'), 
    'slug'     => 'my-posts', 
    'screen_function'  => 'my_posts_screen_link', 
    'position'    => 40,//weight on menu, change it to whatever you want 
    'default_subnav_slug' => 'my-posts-subnav' 
)); 

    bp_core_new_subnav_item(array(
     'name'     => __('My Posts', 'buddypress'), 
     'slug'     => 'my-posts', 
     'parent_url'   => trailingslashit(bp_loggedin_user_domain() . 'main-tab'), 
     'parent_slug'   => 'my-posts', 
     'screen_function'  => 'my_posts_screen_link', 
     'position'    => 10//again, weight but for submenu 
    )); 
do_action('bp_content_setup_nav'); 
} 
add_action('bp_setup_nav', 'bp_content_setup_nav'); 

이것은 하위 탭과 함께 단일 탭을 설정하기위한 것입니다. bp_core_new_subnav_item을 복사하고 필요한 요소를 변경하여 추가 sub_nav를 만들 수 있습니다. 그렇지 않으면 하나의 항목 (다른 서브 그룹 없음) 만 있으면 서브 NAT 비트가 필요 없습니다. 여러 개의 하위 그룹이있는 경우 기본 nav_item에 대해 중복 된 하위 그룹을 포함해야합니다. 그렇지 않으면 하위 그룹 메뉴에 표시되지 않습니다.

여러분이 직접 모든 비트를 추측 할 수 있기를 바랍니다. 그렇지 않은 경우 다른 답장을 통해 명확히해볼 수 있습니다. 그렇지 않으면 실험 해보십시오. 기능에 대한 추가 옵션은 http://codex.buddypress.org/developer/core/bp_core_new_nav_item/을 참조하십시오.

어쨌든 내용을 렌더링하려면 'screen_function'을 표시하기 위해 위의 다른 함수가 필요합니다.

function my_posts_screen_link() { 
    add_action('bp_template_title', 'my_posts_screen_title'); 
    add_action('bp_template_content', 'my_posts_screen_content'); 
    bp_core_load_template(apply_filters('bp_core_template_plugin', 'members/single/plugins')); 
} 

function my_posts_screen_title() { 
    echo 'Whatever Title You Want'; 
} 

function my_posts_screen_content() { 
    get_template_part('directory-to-content-file'); 
    //or you can put code here; only useful for short bits or echoing plain text 
} 

여러 개의 subnav 항목의 경우 각 항목에 대해 화면 기능이 필요합니다. 화면 제목은 선택 사항이므로 원하는 경우 제거 할 수 있습니다.

그래서 메뉴와 콘텐츠를 추가하는 방법입니다. 멤버 게시물을 표시하려면 get_template_part를 통해 호출하는 PHP 파일을 루프를 실행하고 필요한 모든 기준을 배치하십시오. args에서 사용자 작성자를 얻으려면 http://codex.buddypress.org/developer/the-bp-global/을 참조하십시오. 루프를 실행하는 데 도움이 필요하면 수많은 WordPress 문서 중 하나를 참조하십시오.

경고 단어 : 내가 아는 한 페이지 네비게이션이 기본 서브와 동작하지 않습니다. 나는 결코 그걸 작동시킬 수 없었다. 그러나, 그것은 다른 subnav에서 작동하지 않습니다. 불행히도 페이지 매김을하려면 추가 서브 밴드를 만들어야합니다. 누군가가 이것에 대한 답을 알고 있다면, 나는 모든 귀가 될 것입니다.

그 질문에 대한 답변이 너무 복잡하거나 혼란 스럽기를 바랍니다.

+0

http://premium.wpmudev.org/forums/topic/loop-pagination-inside-a-buddypress-profile-tab이 사람들의 게시물은 페이지 매김에 많은 도움이되었습니다. 기본적으로 부모님의 subnav와 slug의 부모 URL을 변경하는 것입니다. 사용자를이 탭으로 안내 할 때마다 subnav slug가 포함 된 URL로 안내해야합니다. – babycakes

관련 문제