Je savais qu'il n'était pas possible d'avoir les mêmes termes (termes slugs) sous les catégories et les balises, mais étonnamment, comme je l'ai réalisé aujourd'hui, c'est aussi le cas avec les taxonomies personnalisées.
Ainsi, par exemple, si mon site a une catégorie appelée Linux (linux)
et que je souhaite également créer un terme de taxonomie personnalisé appelé «Linux», cela ressemblerait à quelque chose Linux (linux-2)
, c'est-à-dire que les limaces doivent être différentes.
Et si j'essaye de renommer le slug linux
, j'obtiens l'erreur "Le slug 'linux' est déjà utilisé par un autre terme" .
Est-il possible d'avoir les mêmes termes dans les catégories / balises et les taxonomies personnalisées (sans faire de ravages)?
Comment reproduire le problème?
Créez 3 à 5 nouveaux messages. Créez une nouvelle catégorie et une nouvelle étiquette et attribuez-les à ces publications (uniquement à des fins de test).
Enregistrez les paramètres de permalien.
créez deux nouveaux termes sous la taxonomie personnalisée avec le même nom et le même slug que la catégorie et la balise que vous avez créées précédemment, et affectez-les à une nouvelle publication sous un type de publication personnalisé.
Supprimez les taxonomies personnalisées.
Essayez de les recréer, et vous obtiendrez maintenant l'erreur: "Le slug 'XXX' est déjà utilisé par un autre terme."
Parfois, cela reproduisait le problème, parfois non.
Mais...
Si vous pouvez créer une catégorie (ou une balise) et une taxonomie personnalisée avec le même nom et le même slug, faites-le. Ensuite, renommez l'un d'eux et vous remarquerez que la catégorie (ou la balise) et la taxonomie personnalisée sont renommées!
la source
Réponses:
Il s'avère que c'est un bug dans le noyau. J'étais sur le point de le signaler, mais j'ai découvert qu'il existe depuis, comme des années, et s'applique également aux taxonomies personnalisées. Voir billets: # 5809 , # 21950 et # 22023 .
Si tout se passe comme prévu, il est réglé pour être corrigé dans
3.83.94.14.2. MISE À JOUR: Oui, corrigé !En attendant, voici un plan pour surmonter le problème - définissez automatiquement un suffixe de slug personnalisé pour tous les termes nouvellement créés sous une taxonomie:
Ce n'est pas rétrospectif, c'est-à-dire que seuls les slugs des nouveaux termes de la taxonomie («livres» dans notre cas) sont créés avec notre suffixe personnalisé («-books»).
Pour définir un préfixe à la place, modifiez cette ligne dans la fonction:
à quelque chose comme ça:
Et une fois le bug corrigé ...
Vider la base de données et faire une recherche regex et remplacer à l'aide d'un éditeur de texte approprié comme Sublime Text ou TextMate (ou comme ça ).
Probablement pas la meilleure façon de le faire, mais assez bon pour faire le travail.
la source