Lorsque l’on gère une communauté ou un site avec un espace membre, on doit parfois pouvoir afficher des menus différents en fonction de notre visiteur. Par exemple, s’il n’est pas connecté nous afficherons un lien pour s’inscrire , commander notre livre, etc…. En revanche, s’il est identifié (connecté) on lui proposera un lien pour se déconnecter, pour accéder au téléchargement du dit livre/produit, etc… Les possibilités sont infimes.
Comment afficher un menu différent pour les membres connectés à un site WordPress ?
Remplacez simplement le code d’appel de votre menu dans votre thème par le code suivant :
// Afficher un menu différent pour les membres
function wpln_menu_membres( $args = '' ) {
if( is_user_logged_in() ) {
$args['menu'] = 'menu-membres';
} else {
$args['menu'] = 'menu-visiteurs';
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'wpln_menu_membres' );
Si vous ne l’avez pas déjà fait, il faudra déclarer le second (où les deux) menu.s dans votre fichier functions.php, sans quoi il n’existera pas et vous ne pourrez pas lui assigner de menu ;-). Il faudra bien évidemment penser à modifier “menu-membres” & “menu-visiteurs” par les noms de vos menus.