[Résolu] Cacher un élément de menu aux visiteurs non-connectés (Créer un compte)

  • Statut : non résolu
13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • #504705
    FredMCCR
    Participant
    Initié WordPress
    21 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.3.1
    – Version de PHP/MySQL : 5.3.8/5.1.49
    – Thème utilisé : Elegant themes « The Source »
    – Extensions en place :
    – Nom de l’hebergeur : OVH
    – Adresse du site :

    Problème(s) rencontré(s) :
    Bonjour à tous et merci de m’accueillir parmi vous.

    J’utilise un menu personnalisé dans lequel j’ai intégré des pages. Je cherche désespérément à faire en sorte que l’une de ces pages ne soit visible dans le menu que pour les utilisateurs connectés, c’est à dire qu’elle disparaisse de la barre de menu hors connexion.

    Quelle solution connaissez-vous pour cela ? Un plugin ?
    Grand merci par avance pour l’aide que vous m’apporterez.

    #812231
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Hello, bienvenue parmi nous 🍺

    Si ça ne pose pas de problème de sécurité, j’utiliserais le filtre « nav_menu_css_class« . À mettre dans ton functions.php :

    add_filter(‘nav_menu_css_class’ , ‘special_nav_class’ , 10 , 2);
    function special_nav_class ($classes, $item)
    {
    if ($item->title == « Titre de ta page » && !is_user_logged_in())
    {
    $classes[] = « hidden »;
    }
    return $classes;
    }

    Et dans ton style.css :

    .hidden {display:none}

    #812232
    FredMCCR
    Participant
    Initié WordPress
    21 contributions

    C’est exactement ça que je voulais, merci beaucoup !

    #812233
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions

    Je t’en prie 🙂

    #812234
    FredMCCR
    Participant
    Initié WordPress
    21 contributions

    Bonjour,

    Je reviens sur cette solution, qui me convient toujours, mais que je souhaite faire évoluer pour prendre en compte plusieurs pages au lieu d’une.

    Je suppose que la ligne suivante doit évoluer
    if ($item->title == « Titre de ta page » && !is_user_logged_in())
    mais quelle est la bonne syntaxe ?

    Merci 😉

    #812235
    Qwindoo
    Modérateur
    Maître WordPress
    2861 contributions
    if (in_array($item->title, array(« Page #1 », « Page #2 », « … »)) && !is_user_logged_in())

    #812236
    FredMCCR
    Participant
    Initié WordPress
    21 contributions

    De nouveau merci, ça répond parfaitement à mon besoin !

    #812237
    aesir
    Participant
    Initié WordPress
    3 contributions

    Bonjour à tous 🙂

    Je me permet de revenir sur cette solution, je débute dans wordpress et j’ai du mal avec le php (le seul site que j’ai fait était en html)

    Voici mon site : http://handballclublille.fr/

    Je souhaite cacher la page « shoutbox » pour les utilisateurs non enregistrés, quel nom de page je dois insérer dans le code donné au dessus ?

    Vraiment désolé pour cette question idiote mais je galère :(

    Merci d’avance

    #812238
    aesir
    Participant
    Initié WordPress
    3 contributions

    En cherchant un peu plus j’ai trouvé ça : http://www.geekeries.fr/decouvertes/cacher-certains-elements-articles-visiteurs/

    C’est vraiment je trouve un super moyen de cacher des contenus aux visiteurs, en effet ce plugin ajoute un bouton dans la partie HTML et le code à l’intérieur de celui ci n’est visible que pour les personnes log. (De plus cela affiche un message pour encourager la personne à s’identifier).

    J’espère que cela pourra servir à quelqu’un d’autre.

    See ya

    #812239
    hedgfunds
    Participant
    Initié WordPress
    6 contributions

    Bonjour Qwindoo

    J’ai mis en place la methode est ça fonctionne à merveille mais comment pourrais ton faire évoluer pour prendre en compte les rôles ????

    #812240
    celtic yourte
    Participant
    Padawan WordPress
    54 contributions

    Bonjour à vous,

    je suis en train de créer des pages privées accessibles seulement par des personnes ayant un mot de passe. Seulement, je voudrais cacher toutes les autres pages de mon site. Je suis novice et je ne connais pas le langage bizarre informatique … Quelqu’un peut-il m’aider?
    http://www.celticyourte.fr

    merci par avance ,

    Lydie

    #812241
    celtic yourte
    Participant
    Padawan WordPress
    54 contributions

    quelqu’un pourrait m’aider?
    merci beaucoup

    #812242
    Flobogo
    Modérateur
    Maître WordPress
    20566 contributions

    @ Celtic Yourte :

    Ce topic étant résolu, il est inutile de le poursuivre.
    Il vaut mieux ouvrir votre propre sujet, dans la partie support du forum
    Vous pourrez ainsi répondre au petit questionnaire qui s’affichera, qui aidera à vous conseiller des plugins compatibles avec votre configuration, par exemple.

13 sujets de 1 à 13 (sur un total de 13)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.