web-dev-qa-db-fra.com

Comment masquer un lien d'élément de menu pour les utilisateurs connectés et déconnectés

À l'aide de bbPress et de s2Member, je dois masquer le lien d'enregistrement dans le menu pour les utilisateurs connectés et le lien de répertoire des membres pour les utilisateurs non connectés.

1
Brad Dalton

Un moyen simple d'y parvenir est de créer deux Menus de navigation distincts (/wp-admin/nav-menus.php), et dans votre thème, utilisez les éléments suivants:

// Reference:
// http://codex.wordpress.org/Function_Reference/is_user_logged_in
// http://codex.wordpress.org/Function_Reference/wp_nav_menu

if( is_user_logged_in() ) {
    wp_nav_menu( array( 'theme_location' => 'logged-users' ) );
} else {
    wp_nav_menu( array( 'theme_location' => 'not-logged-users' ) );
}

Au lieu de theme_location, vous pouvez utiliser directement le nom du menu. Consultez la documentation pour wp_nav_menu.
Et vous voudriez probablement utiliser la fonction is_user_logged_in dans les fichiers de modèle pour les pages Registration et Directory.

3
brasofilo