我在用WordPress的get_terms
返回WP_Term
对象,该对象包含给定分类法的子术语的term\\u id、name、slug等。我已将此阵列保存到$tax_terms
. 我有一个不同的数组-$active_filters
—只包含与某些分类术语相匹配的术语的slug;例如,从var_dump
属于$active_filters
:
array (size=3)
0 => string \'term-1\' (length=6)
1 => string \'term-2\' (length=6)
2 => string \'term-3\' (length=6)
我想知道有没有办法
foreach
将此术语段塞数组与
get_terms
并返回
name
有匹配的子弹吗?因此,上面的示例将输出“术语1”、“术语2”、“术语3”。我试过使用
array_search
但到目前为止,没有任何效果。非常感谢您的帮助。
最合适的回答,由SO网友:Mammaltron 整理而成
可能array_map ?
这将为您提供一组术语名称,这些名称与$active\\u过滤器中的slug匹配:
$matched_terms = array_map(function($term) use ($active_filters){
if(in_array($term->slug, $active_filters)){
return $term->name;
}
else{
return false;
}
}, $tax_terms);
//remove the empty array elements which came from terms which didn\'t match a slug
$matched_terms = array_filter($matched_terms);