Ajout d’un onglet de navigation BuddyPress

Lors d’une création de site internet communautaire, il peut être intéressant d’ajouter un onglet de navigation dans le profil BuddyPress de l’utilisateur. Je montre dans cet article comment le faire avec du contenu simple :

Sukellos WordPress CSS

Dans BuddyPress, les onglets de navigation sont construits dans la fonction bp_setup_nav(). Lors de cette exécution, le hook portant le même nom, bp_setup_nav est appelé et permet d’enregistrer de nouveaux onglets.

Le code pour ajouter un onglet Passions :

Copier

La fonction bp_core_new_nav_item est appelé en lui passant les paramètres suivants sous la forme d’un tableau associatif :

  • name : le nom de l’onglet
  • slug : le slug de l’onglet
  • item_css_id : l’identifiant CSS qui peut être utilisé pour personnaliser le style de l’onglet
  • show_for_displayed_user : affichage de l’onglet lorsque le profil est parcouru par un autre utilisateur ?
  • site_admin_only : affichage de l’onglet uniquement par un administrateur ?
  • position : index de positionnement de l’onglet
  • screen_function : le nom de la méthode à appeler lors du clic sur l’onglet
  • default_subnav_slug : le slug du sous-onglet à sélectionner lors du clic sur l’onglet (false si aucun sous-onglet)

Désignation du modèle utilisé par BuddyPress

L’extension BuddyPress possède plusieurs modèles situés dans buddypress/bp-templates/bp-legacy/buddypress/.

Dans cet exemple j’utilise members/single/plugins.php en le désignant de la manière suivante:

Copier

Le code de ce modèle BuddyPress est plutôt simple :

Copier

Intégration du contenu dans la page BuddyPress

Il es ressort que deux hooks principaux peuvent être utilisés pour y intégrer du contenu :

  • Un titre h3 avec l’action bp_template_title
  • Un corps de page avec l’action bp_template_content

Par exemple :

Copier

Le code intégral

Le code complet de l’exemple :

Copier

Quelques liens pour approfondir

Besoin d’une assistance technique par un expert WordPress ?
Optez pour un crédit temps de quelques heures

Laisser un commentaire