Функция возвращает список всех рубрик, присвоенных к конкретному посту. Если записи с указанным в параметрах 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
— нумерованный массив, состоящий из ярлыков рубрик;
- 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 );