Функция возвращает список всех рубрик, присвоенных к конкретному посту. Если записи с указанным в параметрах ID не существует, возвращает пустой массив.
wp_get_post_categories( $post_id = 0, $args = array() ) |
- $post_id
- (целое число) ID поста
- $args
- (массив) дополнительные параметры вывода
- orderby
- сортировка результатов, может принимать значения:
-
name
— по названию рубрики (параметр установлен по умолчанию), -
count
— по количеству записей в рубрике, -
slug
— по ярлыку рубрики, -
term_group
— по значению поля term_group, -
term_order
— по значению поля term_order, обычно оно используется для установления собственного порядка рубрик вручную в админке, -
term_id
— по ID рубрики;
-
- ORDER
- направление сортировки:
-
ASC
— по возврастанию (параметр установлен по умолчанию), -
DESC
— по убыванию;
-
- fields
- определяет вид возвращаемых результатов:
-
all
— возвращает массив объектов, содержащих всю информацию о рубриках, более подробно про объекты рубрик написано здесь, -
all_with_object_id
— такой же массив объектов, но только с добавлением значения object_id, -
ids
— нумерованный массив, состоящий из ID рубрик (по умолчанию), -
names
— нумерованный массив, состоящий из названий рубрик, -
slugs
— нумерованный массив, состоящий из ярлыков рубрик;
-
Примеры
В качестве примера давайте выведем список всех рубрик поста через запятую, со ссылками разумеется. Получить ссылку на страницу архива категории нам поможет функция get_category_link(). Итак:
$post_cats = wp_get_post_categories( 1, array('fields' => 'all') ); // предположим, что ID поста = 1 $cats = ''; foreach($post_cats as $post_cat){ $cats .= '<a href="' . get_category_link( $post_cat ) . '">' . $post_cat->name . '</a>, '; } echo rtrim($cats, ', '); |
А теперь давайте посмотрим на содержимое массива объектов, который возвращается функцией в случае установки параметра fields
равным all
:
$post_cats = wp_get_post_categories( 1, array('fields' => 'all') ); print_r( $post_cats ); |
Источник: misha.blog