web-dev-qa-db-fra.com

Puis-je avoir deux pages enfants de parents différents portant le même nom?

J'ai deux pages - new.hillsong.com/australia/sisterhood - new.hillsong.com/hills/sisterhood

Les deux pages affichent le contenu du site/hills/sisterhood, mais il s’agit de pages différentes avec un contenu différent. Je n'arrive pas à trouver quelque chose en ligne à ce sujet. Est-ce possible? Y at-il des moyens de faire ce travail.

Merci pour l'aide! Paul

7
Paul

Oui, vous pouvez.

Autrefois, cela n’était pas possible (comme le montrent d’autres réponses). Cependant, c'est possible maintenant.

WordPress permet maintenant aux pages enfants (de tout type de publication hiérarchique) de différents parents d’avoir le même nom/slug. Cela est possible car WordPress considère désormais l’ensemble de l’arborescence (combinaison parent-enfant) pour la vérification de l’unicité.

Les URL de page suivantes sont donc maintenant possibles:

example.com/parent-1/child
example.com/parent-2/child
3
Fayaz

Non, non vous ne pouvez pas . Une fois qu'un slug est utilisé par une page, il ne peut plus être utilisé par d'autres pages. Il ne peut pas non plus être utilisé par d'autres publications, quel que soit leur type.

Il existe un ticket Trac sur WP Core qui tente de résoudre ce problème afin qu'un slug puisse être réutilisé par type de message, mais cela ne vous permet toujours qu'une seule utilisation de votre slug de page. Les chances que vous puissiez faire ce que vous essayez de faire sont au mieux lointaines et au pire minimes.

La solution la plus proche consiste à ajouter un/point de terminaison/sisterhood via l'interface de règles de réécriture, ce qui vous permettrait de modifier le contenu d'une page lorsque le point de terminaison de sororité est présent. Cependant, ce noeud final n’est qu’un point final, ce n’est pas une page avec des méta-publications et du contenu, c’est la même page mais avec un noeud final (dans ce cas, vous seriez toujours sur la page Australie, vous juste avoir la possibilité de montrer quelque chose de différent)

Les règles de réécriture et les points de terminaison ne sont pas pour les âmes sensibles, si cela vous intéresse, je vous conseille de poser la question suivante:

"Comment puis-je ajouter un point de fin de page? J'essaie d'ajouter un point de terminaison sœur à mes pages afin de pouvoir afficher un modèle différent. Comment puis-je ajouter le point de terminaison puis charger un autre modèle?"

Assurez-vous de créer un lien ici, et vous mettez le nouveau lien de question ici aussi

1
Tom J Nowell

Je sais que c’est un vieux post, mais il valait la peine d’être mentionné (pour ceux qui, comme moi, le trouvaient dans les moteurs de recherche). Ce que j’utilise pour contourner un problème similaire est un plugin Custom Permalinks. ( https://wordpress.org/plugins/custom-permalinks/ ).

J'utilise ce plugin depuis un certain nombre d'années sur environ 30 sites Web clients et je n'ai jamais eu de problème avec ce dernier. Il vous permettra de créer presque toutes les URL que vous aimez. Si vous avez 2 ou plusieurs URL se terminant par/sisterhood. /, il le fera sans aucun problème, quel que soit le slug.

1
Eoin H

Le moyen le plus simple de le faire est de ne pas utiliser de pages pour cela, mais de créer un nouveau type de message pour "collines" et/ou "australie". Cela peut être un PITA, mais vous devez comprendre que la combinaison de type de message et de slug devrait être unique (la raison pour laquelle cela est fait est de vous permettre de changer la structure de permalien sans devoir mettre à jour tout le contenu).

Une autre option, semble-t-il, que vous devriez envisager est d'utiliser une installation multisite avec une structure de sous-répertoires. Cela dépend de la distinction entre les sections "australia" et "hills" et de la nécessité de regrouper des éléments tels que la recherche native sur l'ensemble de votre contenu.

L'option la plus complexe consiste à écrire votre propre analyse syntaxique. Par exemple, vérifiez dans le fichier functions.php si l'URL est "collines/fraternité" avant le chargement du code de gestion des modèles, puis remplacez la requête par une requête servant à la page spécifique de votre choix. Le problème ici est qu’il est difficile à faire évoluer et que vous devrez peut-être trouver une solution pour générer un lien permanent approprié pour la page, par exemple, à utiliser dans votre plan de site.

0
Mark Kaplun