web-dev-qa-db-fra.com

Obtention de l'identifiant de terme à partir du nom du terme pour une requête WordPress

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?

1
ellenmva

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);

        }
1
chifliiiii