web-dev-qa-db-fra.com

Comment obtenir le nom du terme avec un lien pour des identifiants spécifiques

J'essaie d'afficher la catégorie personnalisée sur la page d'archive.

$term_id_array= array(1,2,4,50);

comment récupérer le nom du terme avec un lien pour ces term_ids

Mon nom de post_type personnalisé = taxonomie du produit = product_cat

Note: J'utilise woocommerce.

Aidez-moi, j'essaie ce code pour afficher tous les noms de catégories de produits sous forme de liste

<?php 
$taxonomy = 'product_cat'; //Choose the taxonomy
$terms = get_terms( $taxonomy ); //Get all the terms
foreach ($terms as $term) { //Cycle through terms, one at a time
$term_id = $term->term_id; //Define the term ID
$term_link = get_term_link( $term, $taxonomy ); 
$term_name = $term->name;
echo '<p class="list-cat"><span>' . $term_id . '</span> -<span>' . $term_name . '</span></p>';  
}
?>

Out out:

1- Vêtements 2- Chemises 3- Pantalons 4- Pantalons pour dames 5- T-shirts 6 ........ ....... 5- Verre de soleil

Mais comment puis-je obtenir un nom avec un lien pour cet ID 1,2,4,50.

1
Exclutips

get_terms() accepte un tableau d'arguments comme second paramètre. Un de ces paramètres est include

include

(entier) Un tableau d'identifiants de terme à inclure. Vide renvoie tout.

Vous avez déjà les identifiants de terme que vous avez sélectionnés dans un tableau. Vous n'avez donc qu'à les passer au paramètre include dans le tableau d'arguments de get_terms().

$terms =  get_terms( $taxonomy, array( 'include' => $term_id_array ) );

ou avec une syntaxe abrégée ( disponible depuis PHP 5.4 )

$terms = get_terms( $taxonomy, ['include' => $term_id_array] );
1
Pieter Goosen