web-dev-qa-db-fra.com

A quoi sert wp_insert_term "alias_of" arg?

Je mets actuellement la main dans WP taxonomie et modalités pour trouver des solutions à mon projet. Je savais qu'il n'est pas possible d'avoir les mêmes termes slug lors de la création d'un terme avec wp_insert_term dans une taxonomie personnalisée et entre différentes taxonomies personnalisées, mais j'aimerais que différents termes soient liés à la même URL (des slugs sont donc impliqués) et que tous les messages liés à ces différents termes.

Dites une taxonomie personnalisée 'taxe' et les termes suivants:

a (slug : a) 
--b (slug : b)
-c (slug : c)
---d (slug : d)

Je peux accéder aux différentes conditions fiscales avec les liens suivants:

/tax/a
/tax/b
/tax/c
/tax/d

Si je veux insérer un terme avec wp_insert_term('e','tax',array(slug=>'a'), WP modifiera le slug en "a1" car les slug devraient être uniques ...

Il semble donc impossible de rediriger des termes différents vers le même slug/url et d’obtenir tous les messages personnalisés de "a" et de "e".

Et qu'en est-il de l'argument alias_of? Impossible de trouver une documentation complète à ce sujet. N'était-ce pas précisément pour ce genre de problème? J'ai inséré plusieurs termes avec ce genre de code: wp_insert_term('e','tax',array(slug=>'e','alias_of'=>'a') mais cela ne change rien, WP crée différents slug uniques pour toutes mes entrées et ne se soucie pas de alias_of.

Est-ce que quelqu'un ici peut clarifier ceci ou avoir une solution?

merci beaucoup !

EDIT

Semble être lié à term_group, une fonctionnalité qui n'est pas encore prise en charge par WP. Il existe un champ term_group dans wp_terms database . La valeur de ce champ est définie lors de la création du terme wp_insert_term($name,$taxonomy,array('alias_of' => $slug) et récupérée lors de l'obtention d'un terme avec (pour la fonction ex get_term_by()->term_group). Il devrait y avoir un moyen d'interroger cela, mais avec le support terms metas, je ne vois pas vraiment l'intérêt ...

7
Polykrom

Dans Référence du code il est écrit:

'alias_of'

(string)} Slug du terme pour faire de ce terme un alias. Chaîne vide par défaut. Accepte un terme limace.

Cela fait un terme un alias d'un autre terme. En utilisant votre exemple, voici comment vous l'utiliseriez:

wp_insert_term( 'e', 'tax', array( 'alias_of' => 'a' ) );

Cela créerait un nouveau terme e dans la taxonomie tax sans son propre slug, et les publications dans e seraient également affichées sous le slug a.

3
Johano Fierra