J'essaie d'obtenir les identifiants de terme à partir du nom du terme et je ne peux pas comprendre pourquoi ce code ne fonctionne pas.
$excludes = '';
if($filtering_excludes) {
$exclude_terms = explode(", ", $filtering_excludes);
foreach ($exclude_terms as $exclude_term) {
$term = get_term_by( 'name', $exclude_term, $filtering_tax );
$exclude_term = $term->term_id;
}
$excludes= implode(", ", $exclude_terms);
}
Quand je fais un var_dump sur $ exclude_term est le terme id mais $ excludes renvoie toujours le nom du terme.
J'ai un code similaire pour obtenir l'identifiant de la catégorie à partir du nom et cela fonctionne sans problème - c'est ce code.
$excludes = '';
if($filtering_excludes) {
$exclude_cats = explode(", ", $filtering_excludes);
foreach ($exclude_cats as &$exclude_cat) {
$cat_id = get_category_by_slug($exclude_cat);
$exclude_cat = $cat_id->term_id;
}
$excludes= implode(", ", $exclude_cats);
}
Est-ce que n'importe qui peut voir pourquoi mon $ exclue pour des termes renvoie le nom et non l'identifiant?
Vérifiez les noms de variables:
$excludes = '';
if($filtering_excludes) {
$exclude_terms = explode(", ", $filtering_excludes);
foreach ($exclude_terms as $exclude_term) {
$term = get_term_by( 'name', $exclude_term, $filtering_tax );
$exclude_term_array[] = $term->term_id;
}
$excludes= implode(", ", $exclude_term_array);
}