- WordPress :5.8
- Statut : non résolu
- Ce sujet contient 53 réponses, 4 participants et a été mis à jour pour la dernière fois par kellr1388, le il y a 3 années.
-
AuteurMessages
-
16 septembre 2021 à 11 h 09 min #2385391
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 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 !
18 septembre 2021 à 23 h 46 min #2385567Bonjour,
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.
19 septembre 2021 à 18 h 35 min #2385599Merci 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
Merci19 septembre 2021 à 23 h 46 min #2385626Oui, 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.
20 septembre 2021 à 10 h 48 min #2385637Alors 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 beaucoup21 septembre 2021 à 0 h 30 min #2385719Qu’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
22 septembre 2021 à 9 h 30 min #2385814Qu’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
22 septembre 2021 à 17 h 30 min #2385865Bonjour,
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.
23 septembre 2021 à 11 h 14 min #2385882Merci 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 !
23 septembre 2021 à 15 h 03 min #2385900Pour 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.
- 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.
- 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.
- 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 » )
- 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.
- 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.
23 septembre 2021 à 17 h 14 min #2385909Bon, 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.
24 septembre 2021 à 0 h 47 min #2385946Comme 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 3 années et 1 mois par ferman.
- Cette réponse a été modifiée le il y a 3 années et 1 mois par ferman.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.24 septembre 2021 à 9 h 50 min #2385959Super 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 ?24 septembre 2021 à 11 h 23 min #2385963Juste 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.24 septembre 2021 à 23 h 48 min #2385995Dé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é.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.