Get term by возвращает только один элемент из массива
Я пытаюсь восстановить идентификатор термина на основе имени термина, используя функцию "get_term_by", встроенную в Wordpress. Однако эта функция извлекает только один элемент из массива, из которого я их получаю. Но в этом массиве есть несколько элементов.
Это мой текущий код:
$filter_terms = get_term_by( 'name', $widget['select'], 'portfolio-categories');
Это то, что находится внутри $widget['select']
, когда я сбрасываю его: array(2) { [0]=> string(5) "Beard" [1]=> string(3) "Tag" }
Таким образом, в этом массиве "Борода" и "Тег" - это два термина, из которых я хочу получить идентификатор, однако, если я дамп $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"
}
Итак, как мне получить вышеуказанную информацию из обоих терминов, за исключением только одного?
3
Author: Pieter Goosen, 2015-12-22
1 answers
Попробуйте это..
$filter_terms = array();
foreach ($widget['select'] as $key => $name) {
$filter_terms[$key] = get_term_by( 'name', $name, 'portfolio-categories');
}
2
Author: Reigel, 2015-12-22 02:38:56