Функция возвращает объект (или массив), содержащий всю информацию о конкретном элементе определенной таксономии.
На самом деле это просто «более расширеная версия» функции get_term(). Там я описал всё очень подробно, поэтому, если тут что-то будет непонятно, советую почитать.
get_term_by( $field, $value, $taxonomy, $output = OBJECT, $filter = 'raw' )
slug
— ярлык,name
— название,id
— ID (используется по умолчанию, однако всё же параметр рекомендуется указывать).OBJECT
, ARRAY_A
, ARRAY_N
.Полный список параметров возвращаемого объекта можно посмотреть тут. Также можно например вывести объект через php-функцию print_r()
.
Большинство примеров приведено именно для таксономии рубрик (т.е. category
), но все они работают и для других таксономий.
В последующих примерах буду использовать только два варианта таксономий — рубрики category
и какая-то вообще левая таксономия, допустим, это категории товаров в вашем интернет магазине на WordPress product_category
.
Итак, значит в этом примере получаем название конкретной категории товаров с ID = 54:
$term = get_term_by( 'id', 54, 'product_category'); $term_name = $term->name;
Тут может быть три варианта. Вариант первый — знаем только ID дочерней рубрики:
$term = get_term_by( 'id', 54, 'category'); $parent_term_id = $term->parent;
Вариант два — известно название дочерней рубрики:
$term = get_term_by( 'name', 'WordPress', 'category'); // допустим, что название рубрики - WordPress $parent_term_id = $term->parent;
Известен ярлык:
$term = get_term_by( 'slug', 'wordpress-2', 'category'); $parent_term_id = $term->parent;
Обратите внимание на очевидное — примеры на получение родительского элемента сгодятся только для таксономий с иерархией.
$term = get_term_by( 'name', 'WordPress', 'category'); $category_id = $term->term_id;
Абсолютным аналогом является функция get_cat_ID(), она как раз и работает на основе get_term_by()
.
Еще одна функция, частью которой является get_term_by()
— это get_category_by_slug(). Код ниже и есть аналог действия этой функции:
$category = get_term_by( 'slug', 'wordpress-2', 'category'); // понятно, что wordpress-2 это ярлык рубрики, объект которой нужно получить // остальные параметры остаются без изменений
$category = get_term_by( 'id', 54, 'category'); // использую ID для получения объекта $post_count = $category->count;
На самом деле я тут написал очень много лишних примеров, все их и многие другие можно легко вывести самому, зная параметры возвращаемого объекта.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.