Diviser un site en 2 parties, avec un menu différent pour chaque partie (Créer un compte)

  • WordPress :5.8
  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 54)
  • Auteur
    Messages
  • #2385391
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.4
    • Thème utilisé : Enfold
    • Extensions en place :
    • Nom de l’hébergeur : OVH

    Problème(s) rencontré(s) :

    Bonjour à tous !

    Je vous explique mon soucis :
    Je suis Thérapeute, et je suis en train de créer mon site, que je souhaite en deux parties distinctes : l’une consacrée aux séances en présentiel, et l’autre pour le distanciel.

    Afin d’avoir un site clair qui puisse répondre directement au besoin du patient, je ne souhaite pas mélanger les informations et donc j’aimerai créer une sorte de distinction entre les deux parties, comme deux  »sous sites » avec des menus différents pour chacun.

    L’idée étant qu’il y ai des pages spécialisées sur chaque  »sous site » (la page  »adresse du cabinet » ne serait visible que sur le menu présentiel, alors que la page  »pourquoi choisir une séance en ligne » serait visible seulement sur le menu distanciel) mais aussi des pages communes qui seront dupliquées (les pages  »qui suis je ? » ; « témoignages » ; « déroulement d’une séance » etc)

    Je pense donc faire une page simple avec un choix entre présentiel et distanciel (nomdusite.fr), et ensuite deux pages d’accueil distinctes en sous repertoire (nomdusite.fr/presentiel ; nomdusite.fr/distanciel) sur lesquelles mes publicités adwords seront ciblées.

    Voici un exemple de ce qui ressemble à mon idée de départ :

    Page avec choix : https://www.sarenza.com/?esl-k=sem-google|ng|c500748507059|me|ksarenza|p|t|dc|a51513290789|g1059650153&gclsrc=aw.ds&gclid=Cj0KCQjws4aKBhDPARIsAIWH0JXPhT0G1hZ8XEmYzVGC2qU5gWYY8RbcAaLW32w2eLczauI5-fKN9CAaAl2SEALw_wcB

    Page avec menu 1 :  https://www.sarenza.com/chaussure-homme

    Page avec menu 2 : https://www.sarenza.com/chaussure-enfant

     

    Deux questions :

    1.Pensez vous qu’il soit possible de réaliser cela avec un simple plugin (If Menu par exemple) ? Ou pensez vous à une autre solution ? Sachant que je ne travaille pas avec Elementor.
    2.Puisque certaines de mes pages seront dupliquées, est ce judicieux d’en indexer qu’une seule afin d’éviter une pénalité de référencement ? Ou bien le fait que ce soit une duplication sur le même site ne pose pas de soucis particulier ?

    Merci beaucoup !

     

    #2385567
    Flobogo
    Modérateur
    Maître WordPress
    20164 contributions

    Bonjour,

    Il faut travailler votre site sur une structure en « silo ». Je vous conseille les 2 tutos suivants, mais je ne pourrai pas vous en dire plus.

     

    #2385599
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Merci pour votre réponse, je viens de regarder les deux tutos, cela me semble bien compliqué à mettre en place… J’espère trouver une méthode plus simple.
    Je viens de trouver le plugin Conditional Menus qui a l’air intéressant pour organiser plusieurs menus sur le même site, mais si vous avez d’autres idées je suis preneur, et si quelqu’un qui s’y connait en référencement peut m’éclairer sur ma seconde question ce serait super, je trouve pas vraiment de réponse à ce sujet sur internet
    Merci

    #2385626
    Flobogo
    Modérateur
    Maître WordPress
    20164 contributions

    Oui, les extensions de type If menu ou Conditionnal Menu sont une bonne solution, si vous ne voulez pas vous prendre la tête avec le concept de « silo ».

    En plus, cela vous évitera de dupliquer la page (une page peut être insérée dans les 2 menus, sans condition), donc ça résout votre problème de référencement.

     

    #2385637
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Alors c’est super je vais creuser cette voie avec les plugins ! Merci !

    Dernière question concernant votre solution pour éviter de dupliquer la page :
    Prenons l’exemple de la page  »témoignages » que je souhaite faire apparaître à l’identique dans les deux parties de mon site. Ceux qui viennent de la partie  »en ligne » et qui cliquent sur la page  »témoignages » devront rester sur la partie  »en ligne » de mon site avec le menu du  »en ligne ». Et ceux qui sont sur la partie « présentiel » de mon site devront également conserver ce menu là après avoir cliqué sur Témoignages. C’est pour cela que je pensais devoir la dupliquer, en faisant d’un coté monsite.fr/en-ligne/temoignages et de l’autre monsite.fr/presentiel/temoignages
    Pensez vous à une autre solution afin d’éviter cela? Et si finalement la duplication est obligatoire, est ce pénalisant ? Merci beaucoup

    #2385719
    Flobogo
    Modérateur
    Maître WordPress
    20164 contributions

    Qu’est ce qui va caractériser votre partie « en ligne » par rapport à la partie « en présentiel » ? Rien, à part le menu * ? (sinon, il faut envisager des catégories d’articles, avec un template différent selon la catégorie, et on va s’embarquer sur une gestion en silo)

    d’un coté monsite.fr/en-ligne/temoignages et de l’autre monsite.fr/presentiel/temoignages

    Ben non, surtout pas. Vous aurez une page unique, accessible à l’adresse monsite.fr/temoignages

    Pensez vous à une autre solution afin d’éviter cela?

    Une autre solution que quoi ?

    Et si finalement la duplication est obligatoire, est ce pénalisant ?

    Oui.

    * Je vous envoie voir le site d’un ami architecte → il comporte 2 parties : les « projets » et les « copropriétés ». Vous verrez des changements dans le sous-menu (en 2ème ligne de menus), en fonction des 2 catégories. Mais vous verrez l’onglet « atelier », qui est le même dans les 2 sous-menus. Pour gérer l’affichage du sous-menu, nous avons utilisé une extension équivalente à celles que vous avez citées : Menu item Visibility Control

    #2385814
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Qu’est ce qui va caractériser votre partie “en ligne” par rapport à la partie “en présentiel” ? Rien, à part le menu * ?

    Oui c’est le menu qui va différencier les deux parties, ainsi que la page d’accueil (monsite.fr pour choisir entre présentiel et distanciel, monsite.fr/presenciel comme page d’accueil pour le présentiel, et monsite.fr/en-ligne pour le distanciel).

     

    Ben non, surtout pas. Vous aurez une page unique, accessible à l’adresse monsite.fr/temoignages

    Il est justement là le soucis… Sur la page  »atelier » de votre ami, le menu n’est plus accessible, alors que de mon côté je souhaiterai que la personne qui accède à la page témoignage puisse ensuite accéder aux autres onglets du menu par lequel elle est arrivée (présentiel ou distanciel)  si elle le souhaite et ne se retrouve pas forcée de cliquer sur  »page précédente »

    D’où ma demande sur la gravité de dupliquer la page ou la possibilité d’une autre solution, je suis un peu coincé ! Merci en tout cas de votre aide

     

    #2385865
    ferman
    Participant
    Maître WordPress
    7016 contributions

    Bonjour,

    A mon (humble) avis la méthode proposée par @flobogo (menu différent selon deux catégories) est la bonne. Il y a différentes façons de faire ça : par exemple avec l’extension « conditional menus » ou d’autres approches. Pour la page « témoignages » unique, il existe une fonction (wp_get-referrer) qui permet de modifier ce que l’on voit sur une page en fonction des pages ou articles d’où l’on vient. Il doit donc être possible selon que l’on arrive sur la page « témoignages » depuis une page de la catégorie 1  ou de la catégorie 2, de n’afficher que les menus correspondants. Le principe fonctionne mais il faut évidemment adapter et mettre au point.

    #2385882
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Merci Ferman pour ta réponse ! C’est exactement ce que je cherche ! Y’a t’il un plugin permettant de faire cela facilement ? Histoire d’éviter le codage? J’ai cherché mais je ne trouve pas grand chose !

    #2385900
    ferman
    Participant
    Maître WordPress
    7016 contributions

    Pour les extensions il y a les deux mentionnées par @flobogo. Dans votre cas je conseillerais « conditional menus »; présentation simple  en anglais mais très claire ICI . Je pensais qu’il fallait y ajouter un peu de code pour la page commune mais pas du tout; en fait c’est très facile.

    Donc: si vous utilisez des pages il faudra d’abord leur attribuer une catégorie, ce qui n’est pas prévu dans wordpress et il faudra utiliser l’extension « create and assign categories to pages » (très simple d’emploi). Si vous utilisez des articles, cette étape est inutile.

    1. Vous créez deux catégories (partie1 et partie2)  puis un menu avec un nom (par exemple « partie 1 et partie2 ») dans lequel vous placerez ces deux catégories uniquement. Ce sera le menu par défaut pour lequel vous choisissez un emplacement . On le verra sur la page d’accueil uniquement.
    2. Vous affectez ces catégories aux pages ou articles que vous souhaitez séparer. A la page « témoignage  » vous affectez les deux catégories.
    3. Vous créez un second menu (par exemple « partie 1 ») et vous y placez les pages ayant la catégorie correspondante puis de la même manière un troisième menu (« partie 2 » )
    4. vous vous rendez ensuite dans l’onglet « gérer les emplacements » puis cliquez sur « +conditional menus » et ajoutez votre deuxième menu puis vous répétez pour le troisième.
    5. Pour chaque menu vous cliquez « +conditions » puis l’onglet « in categories et là vous cochez la catégorie correspondante (menu « partie 1 » -> catégorie « partie1 ».

    N’oubliez pas de sauvegarder tous vos changements. C’est tout: si vous allez sur la page témoignages à partir d’une des pages de la catégorie partie1 vous ne verrez que le menu correspondant à cette catégorie.

    #2385909
    ferman
    Participant
    Maître WordPress
    7016 contributions

    Bon, attendez un peu avant d’avancer. En regardant en détail je m’aperçois qu’il y a un petit truc à régler avec cette fameuse page « témoignages ». Je vous tiens au courant.

    #2385946
    ferman
    Participant
    Maître WordPress
    7016 contributions

    Comme je vous le disais, la réponse n’est pas aussi simple que je le pensais (à cause de la page « témoignage » commune qui se retrouve sans aucun menu). Il faut donc modifier l’approche et utiliser un peu de code.

    Il y a donc trois menus créés avec « conditional menus ». Il n’y a pas de changement pour le premier: il contient seulement les deux catégories « page1 » et « page2 » (dans votre cas ce serait  « distanciel » et présentiel »).

    Le deuxième menu (« pages ») contient toutes les pages du site. Dans mon exemple la page « activite » correspond à votre page témoignages. Ce menu est pour le moment visible sur toutes les pages du site sauf la page accueil.

    Enfin il y a un troisième menu (« menu vide ») qui contient seulement la page « accueil » et qui n’est visible que sur les pages des catégories.

    Voir les pièces jointes.

    Je vous passe maintenant une fonction qui complète « conditional menus » et dont je vous explique le fonctionnement.

    function selectpages(){

    $home = home_url();
    $value1 = array($home.'/grid-1/',$home.'/grid-2/', $home.'/grid-3/') ;
    $value2 = array($home.'/grid-4/',$home.'/grid-5/', $home.'/grid-6/') ;

    if( is_page( array('grid-1', 'grid-2', 'grid-3' ) )||(is_page(1280) && in_array(wp_get_referer(), $value1)) ) {?>
    <style>
    #menu-item-2763,#menu-item-2764,#menu-item-2765{display:none!important;}
    </style>
    <?php
    }
    if( is_page( array('grid-4', 'grid-5', 'grid-6' ) )||(is_page(1280) && in_array(wp_get_referer(), $value2)) ) {?>
    <style>
    #menu-item-2768,#menu-item-2769,#menu-item-2770{display:none!important;}
    </style>
    <?php
    }
    };
    add_filter( 'wp_footer', 'selectpages');

    $value 1 et $value 2 contiennent sous forme de tableau les urls  des pages appartenant à ma catégorie page1 (grid-1, grid-2 et grid-3) et à ma catégorie page2 (grid-4, grid-5 et grid-6). 1280 est l’id de ma page « activite »; j’aurais pu aussi bien utiliser le nom de la page (« activite »).

    les#menu-item-XXXX sont les éléments de menu correspondant aux différentes pages.

    Les conditions sont les suivantes:

    pour les pages appartenant à la première catégorie (grid-1, grid-2 et grid-3) ainsi que pour la page « activite » si on y arrive depuis (grid-1, grid-2 et grid-3) , seuls les éléments  accueil grid-1, grid-2, grid-3 et activité seront visibles.

    pour les pages appartenant à la deuxième catégorie (grid-4, grid-5 et grid-6) ainsi que pour la page « activite » si on y arrive depuis (grid-4, grid-5 et grid-6) , seuls les éléments  accueil grid-4, grid-5 et grid-6 et activité seront visibles.

    Limitation de la méthode: il est toujours possible en tapant directement l’url dans la barre du navigateur d’arriver sur la page « activite » qui possède alors le menu au complet. Il serait possible d’empêcher ça si nécessaire mais à mon avis c’est inutile puisque rien n’empêche les visiteurs  d’avoir accès à tout en visitant les deux catégories.

    Voila. Cela paraît un peu compliqué mais ça ne l’est pas vraiment. Si vous avez besoin d’explications ou de compléments il suffit de demander. Si vous vous lancez,  la fonction est à mettre de préférence dans le fichier “functions.php” d’un thème enfant. Si vous n’en avez pas c’est facile à créer avec l’extension “Child theme configurator“. Si vous ne voulez pas en créer vous pouvez utiliser l’extension “my custom functions“. C’est simple mais lisez les FAQ et surtout ça: “Q. What to do if this plugin crashed the website?” qui vous dit comment rétablir la situation en cas de problème (pas grave et facilement réparable  par FTP). Il vaut mieux éviter de mettre des codes dans functions.php du thème parent: ce sera effacé lors de la prochaine mise à jour du thème. Bien sûr on peut remettre le code après mais c’est un peu pénible, surtout si vous envisagez de mettre d’autres codes dans l’avenir.

     

     

     

    • Cette réponse a été modifiée le il y a 2 années et 9 mois par ferman.
    • Cette réponse a été modifiée le il y a 2 années et 9 mois par ferman.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2385959
    kellr1388
    Participant
    Initié WordPress
    30 contributions

    Super merci beaucoup d’avoir pris le temps de rédiger ces réponses très complètes, c’est exactement ce que je recherche ! Je vais tenter de mettre ça en place

    Si vous avez besoin d’explications ou de compléments il suffit de demander. 

    C’est vraiment cool de votre part ! Je n’hésiterez pas si besoin ! Merci encore
    Juste pour être sûr, je n’ai finalement pas besoin de créer des catégories ? Des pages et des menus suffisent ?

    #2385963
    ferman
    Participant
    Maître WordPress
    7016 contributions

    Juste pour être sûr, je n’ai finalement pas besoin de créer des catégories ? Des pages et des menus suffisent ?

     

    Non, il faut créer deux catégories qui seront les deux parties de votre site. Sur la page d’accueil vous aurez un menu ne contenant que ces deux catégories.

    Chaque page catégorie contiendra les résumés des pages en faisant partie.  On clique pour accéder à la page entière (comme pour les articles). Dès ce moment les menus spécifiques à l’une ou l’autre catégorie sont apparents (également sur la page activité).

    Voir pièce jointe:  résultat pour les menus selon les pages.

    Commencez par faire simple pour voir si ça fonctionne. On fera les mises au point éventuelles (si elles sont raisonnables 🙂 ) ensuite. J’espère que vous ne prévoyez pas trop de pages sinon ça compliquera le code.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2385995
    Flobogo
    Modérateur
    Maître WordPress
    20164 contributions

    Désolée, pas revenue depuis 2-3 jours

    Sur la page ”atelier” de votre ami, le menu n’est plus accessible

    Si, si, le menu du haut est toujours accessible. Le menu intermédiaire (en-dessous de la bande bleue avec le titre de site) s’affiche selon la catégorie sélectionnée au-dessus. La page atelier est commune. La page « publications » aussi, et elle est présente dans le menu principal.
    (Pour tout vous dire, j’aurais préféré mettre la page Atelier dans le menu du haut également, mais ce n’était pas son choix.)

    Si j’ai un peu de temps ce WE, je testerai avec Conditional Menu qui semble plus simple d’utilisation, si il y a juste à cocher des cases.
    En fait, vous devriez avoir un menu principal (affiché partout sur le site, par défaut) et un « menu-bis » qui s’affiche uniquement sur la catégorie « secondaire ». (à vous de choisir laquelle est « secondaire »)
    A partir de là, la page « témoignages » ou la page « contact » par exemple, peuvent s’afficher partout, il suffit de l’insérer à la fois dans le menu principal et dans le menu secondaire.

    Je ne comprends pas le système de @fgerman, cela fonctionne certainement (je n’en doute pas, vu le mal qu’il se donne 😉 )mais cela me semble bien compliqué.

15 sujets de 1 à 15 (sur un total de 54)
  • Vous devez être connecté pour répondre à ce sujet.