wp_get_post_categories() — как получить все категории поста

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция возвращает список всех рубрик, присвоенных к конкретному посту. Если записи с указанным в параметрах 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 );
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии