web-dev-qa-db-fra.com

Les limaces doivent-elles être uniques?

Est-il vrai que les limaces doivent toujours être uniques, indépendamment du reste de l'URL, ou si elles sont utilisées par différents types de post-types ou taxonomies?

Par exemple, est-il possible d'avoir ces deux URL?

mysite.com/industry/biotech/report/
mysite.com/industry/retail/report/

Merci, Todd

7
tzeldin88

Dans wp_unique_term_slug () :

Le slug $ doit être unique au monde pour chaque taxonomie, ce qui signifie qu’un terme de taxonomie ne peut pas avoir un slug correspondant à un autre terme de taxonomie. Chaque limace doit être unique au monde pour chaque taxonomie.

Dans wp_unique_post_slug () :

@param string $ post_status aucune vérification de l'unicité n'est effectuée si la publication est toujours brouillon ou en attente […]

Les pions d'attachement doivent être uniques pour tous les types. […]

Les limaces de page doivent être uniques dans leurs propres arbres. Les pages se trouvent dans un espace de noms distinct de celui des publications afin que les slugs de page puissent se chevaucher. […]

Les slugs doivent être uniques sur tous les posts […]

WordPress modifie les slugs de publication pour renforcer l'unicité, si nécessaire, lorsque le statut d'une publication devient publish ou lorsque des pages sont déplacées entre des arbres de pages. Par conséquent, si vous souhaitez éviter cela, il est préférable d'essayer d'écrire vous-même des slug uniques.

Non confirmé, mais je semble me souvenir:

  • WordPress incrémente parfois les slugs (hello-world-2) et les tronque parfois (hello-worl!) Pour imposer l'unicité
  • Vous devez vider la Corbeille pour rendre les slugs de Trashed posts disponibles à nouveau.
7
sam

Je sais que c'est un ancien post, mais je pense qu'il y a une mauvaise information ici. J'avais des conflits avec des slugs entre différents types de post personnalisés et taxonomies et j'ai décidé de lire un peu à ce sujet pour mieux le comprendre.

J'utilise WordPress 4.2.2 et je suis capable de créer différents types de posts avec le même slug. Apparemment, il s'agit d'un problème connu en cours de suivi. Cependant, les règles relatives à l'unicité des slugs ne sont pas claires.

https://core.trac.wordpress.org/ticket/13459

Ce qui me semble le plus logique, c’est que les slugs post doivent être uniques parmi les types de posts (pages, posts, CPT) et que les slugs de taxonomie doivent être uniques parmi les taxonomies. Mais actuellement sur les versions 4.2.2, celles-ci ne sont pas applicables. Je suppose que je devrai simplement travailler avec cela sans le savoir.

2
TuninTuna

Oui, les slugs doivent être uniques, quel que soit le type de post; il est appliqué au niveau de la base de données. Même chose pour les limaces à terme.

Je ne pense pas qu'ils doivent être uniques entre eux. C'est à dire. vous pouvez avoir un post "rapport" et un terme "rapport".

Pour obtenir le type de liens permanents dans votre exemple, vous n'avez probablement pas besoin de créer plusieurs publications avec le même slug. Vous avez juste besoin d'une règle de réécriture personnalisée qui se termine par /report/ et qui mappe vers quelque chose d'autre.

1
scribu