This is from the codex.
<?php get_term_by( $field, $value, $taxonomy, $output, $filter ) ?>
Suppose I have a taxonomy system as follows;
taxonomy: “healthy foods”
and it’s a hierarchical taxonomy and your hierarchy goes exactly like this;
healthy foods
fruits
red ones
green ones
veggies
red ones
green ones
and you use the get_term_by
function as follows;
get_term_by(“name”,”red ones”,”healthy foods”)
Do you get the veggies or the fruits?
get_term_by()
just returns the first matching term, ‘first’ meaning some internal order in MySQL.If having multiple terms with the same name matters in your case, don’t rely on
get_term_by()
alone.You get the first one WP comes to in the database query.
To get both terms that match use:
get_terms( [
'taxonomy'=>'healthy foods',
'name'=>'red ones',
'hide_empty' => 0 ] )
See: https://developer.wordpress.org/reference/functions/get_terms/