J'essaie d'ajouter un nouvel onglet à mes groupes sur BuddyPress. Tous les groupes auront un contenu différent de préférence de la base de données.
Comment puis-je accomplir cela?
Il existe un exemple sur les forums de buddypress, qui est un bon endroit pour commencer à chercher des réponses.
Pour répondre ici, voici:
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 ) );
Et la fonction d'écran pour rendre la page:
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
}
Pour que votre exemple fonctionne, vous devez le placer dans une fonction comme celle-ci (que vous placerez dans functions.php):
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' );
et placez-vous rendre fonction après évidemment.