web-dev-qa-db-fra.com

get_term_link () renvoie une URL incorrecte

J'ai un type d'article personnalisé (item) avec plusieurs taxonomies personnalisées (item_category_A, item_category_B, etc.). J'aimerais récupérer les termes de taxonomie personnalisés de la item actuelle de item_category_A, les rendre également cliquables. Mon code récupère les termes corrects, mais utilise ensuite get_term_link() pour récupérer une URL ressemblant à sitename.com/item_category_B/category_A_term_slug. Qu'est-ce que je fais mal? Mon code ressemble à ceci:

function get_item_category_A(){

   $item_cat_A = get_the_terms(get_the_ID,'item_category_A');

   echo '<a href="' . esc_url(get_term_link($item_cat_A[0]->slug,$item_cat_A[0]->taxonomy)).'">'.esc_html($item_cat_A[0]->name).'</a>';

}

Néanmoins, lorsque je lance la fonction, elle renvoie l’url qui pointe vers le terme correct dans la taxonomie incorrecte (sitename.com/item_category_B/category_A_term_slug).

1
galingong

WordPress permet la personnalisation du comportement de réécriture d'URL par défaut (/ slug/term) avec un tableau d'arguments rewrite passé à la fonction register_taxonomy().

En définissant des valeurs pour les clés slug ou hierarchical dans ce tableau, la structure d'URL par défaut peut être modifiée en fonction de vos besoins. Il peut également être modifié de manière à ce que des résultats inattendus soient renvoyés.

Lors de la création de plusieurs taxonomies, il est facile de copier et coller les étiquettes et les tableaux de paramètres pour une taxe et de négliger la nécessité de mettre à jour certaines des informations pour des utilisations ultérieures.

Référence du WP Codex: https://codex.wordpress.org/Function_Reference/register_taxonomy#Arguments

Explication de la taxonomie hiérarchique via Milo: Comment activer les liens permanents hiérarchiques pour les taxonomies hiérarchiques

1
jdm2112