it-swarm.com.de

BuddyPress: Hinzufügen eines neuen Tabs in Gruppen

Ich versuche, meinen Gruppen auf BuddyPress einen neuen Tab hinzuzufügen. Alle Gruppen haben vorzugsweise unterschiedliche Inhalte aus der Datenbank.

Wie kann ich das erreichen?

3
Anders

In den Buddypress-Foren finden Sie ein Beispiel dafür. Hier können Sie nach Antworten suchen.

http://buddypress.org/community/groups/creating-extending/forum/topic/can-someone-explain-how-to-add-tabs-to-the-profile-page/

Zur Beantwortung hier aber hier geht:

bp_core_new_subnav_item( array(
   'name' => 'My Group Page',
   'slug' => 'my-group-page',
   'parent_url' => $bp->loggedin_user->domain . $bp->groups->slug . '/',
   'parent_slug' => $bp->groups->slug,
   'screen_function' => 'my_groups_page_function_to_show_screen',
   'position' => 40 ) );

Und die Bildschirmfunktion zum Rendern der Seite:

function my_groups_page_function_to_show_screen() {

    //add title and content here - last is to call the members plugin.php template
    add_action( 'bp_template_title', 'my_groups_page_function_to_show_screen_title' );
    add_action( 'bp_template_content', 'my_groups_page_function_to_show_screen_content' );
    bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) );
}

    function my_groups_page_function_to_show_screen_title() {
        echo 'My Page Title';
    }
    function my_groups_page_function_to_show_screen_content() { 

        // page content goes here

    }
4
sanchothefat

Damit Ihr Beispiel funktioniert, müssen Sie es in eine Funktion wie diese einbinden (die Sie in functions.php einfügen):

function my_setup_nav() {
    global $bp;
    bp_core_new_subnav_item( array(
       'name' => 'My Group Page',
       'slug' => 'my-group-page',
       'parent_url' => $bp->loggedin_user->domain . $bp->groups->slug . '/',
       'parent_slug' => $bp->groups->slug,
       'screen_function' => 'my_groups_page_function_to_show_screen',
       'position' => 40 ) );
}
add_action( 'bp_setup_nav', 'my_setup_nav' );

und platziere deine rendreing funktion offensichtlich danach.

0
user28591