Wordpressに組み込まれている "get_term_by"関数を使用して、用語名に基づいて用語IDを取得しようとしています。ただし、この関数は、取得元の配列から1つの項目のみを取得します。しかし、この配列には複数の項目があります。
これは私の現在のコードです:
$filter_terms = get_term_by( 'name', $widget['select'], 'portfolio-categories');
これをダンプすると、これが$widget['select']
の内側にあります。array(2) { [0]=> string(5) "Beard" [1]=> string(3) "Tag" }
そのため、この配列では、 "Beard"と "Tag"がIDを取得する2つの用語になりますが、$filter_terms
をダンプすると次のようになります。
object(WP_Term)#634 (10) {
["term_id"]=> int(14)
["name"]=> string(5) "Beard"
["slug"]=> string(5) "beard"
["term_group"]=> int(0)
["term_taxonomy_id"]=> int(14)
["taxonomy"]=> string(20) "portfolio-categories"
["description"]=> string(0) ""
["parent"]=> int(0)
["count"]=> int(2)
["filter"]=> string(3) "raw"
}
それでは、どのように私は1つだけからのものを除いて、両方の用語から上記の情報を得るのですか?
これを試して..
$filter_terms = array();
foreach ($widget['select'] as $key => $name) {
$filter_terms[$key] = get_term_by( 'name', $name, 'portfolio-categories');
}