Masquer des éléments de sous-navigation dans les groupes – BuddyPress 2.6

de | 6 juillet 2016

La manière de gérer la navigation a été entièrement revue dans BuddyPress 2.6. Cette amélioration entraîne toutefois, pour certains sites, le déclenchement d’une notice d’erreur signalant que les fonctions bp_nav et bp_nav_options sont dépréciées.

Si vous avez eu à faire à cette notice, ou que vous avez soudain vu réapparaître des onglets jusqu’ici masqués, c’est que vous utilisez probablement un thème ou un plugin qui date un peu ou une fonction qui vous permettait de masquer des onglets de navigations sur la page d’un groupe.

Pour être très clair, la concaténation suivante ne fonctionne plus avec BP 2.6+ sans générer une notice. Et elle cessera de fonctionner totalement, dès que les fonctions de la BuddyBar seront toutes dépréciées – ce qui ne saurait tarder. (Lire commentaires dans bp-core-buddybar.php).

$bp->bp_options_nav[$bp->groups->current_group->slug]['home']['position'] = 10;

Désormais, il faut procéder de cette façon:

Ce snippet vous permet de retirer les éléments de sous-navigation qui se trouvent sur l’onglet Gestion du Groupe.

function bpex_remove_group_manager_tabs() {   

	if ( ! bp_is_group() || ! ( bp_is_current_action( 'admin' ) && bp_action_variable( 0 ) ) || is_super_admin() ) {
		return;
	}

		// Liste de tous les items du sous-menu Gestion du Groupes.
		// Vous commentez ou retirez ceux que vous ne voulez pas utiliser.
		$hide_tabs = array(				
		//	'group-settings'	=> 1,
			'delete-group'		=> 1,
			'group-avatar' 		=> 1,
		//	'group-invites' 	=> 1,
			'manage-members' 	=> 1,
			'forum'				=> 1,
		//	'group-cover-image' => 1
		);
                 
		$parent_nav_slug = bp_get_current_group_slug() . '_manage';

	//Remove the nav items
	foreach ( array_keys( $hide_tabs ) as $tab ) {
		bp_core_remove_subnav_item( $parent_nav_slug, $tab, 'groups' );
	}	
}
add_action( 'bp_actions', 'bpex_remove_group_manager_tabs' );

Notez que cette fonction ne peut être utilisée que pour les groupes qui utilisent uniquement la sous navigation quel que soit l’item (principal ou secondaire).

Partagez...Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone