Получаем массив данных о категориях относящихся к указанному посту get_the_category()

21.01.2017

Получает массив данных о категориях относящихся к указанному посту.

Функцию можно использовать за пределами Цикла WordPress, если указать ID поста.

get_the_category()

Возвращает

массив объектов с данными о каждой категории, которая относится к посту. Отдельный объект для каждой категории.

Использование

<?php get_the_category( $id ) ?>
$id(число)
ID поста, категории которого нужно получить.
По умолчанию: $post->ID

Примеры

#1 Выведем картинку для каждой категории

Этот пример показывает как можно создать картинку к каждой категории, в атрибуте alt будет указано название категории. Картинки должны иметь названия такие же как и ID категорий (12.jpg) и лежать в корне сайта в папке images. Код нужно использовать внутри Цикла:

foreach( get_the_category() as $category ){ 
  echo '<img src="http://example.com/images/' . $category->cat_ID . '.jpg" alt="' . $category->cat_name . '" />'; 
} 

#2 Название первой категории

Показать название только первой категории (если пост относится к нескольким категориям):

$category = get_the_category(); 
echo $category[0]->cat_name;

#3 Категории поста за пределами цикла

Пример, как получить категории поста за пределами Цикла WordPress:

global $post;

$categories = get_the_category( $post->ID );
var_dump( $categories );

Данные, которые содержит каждый объект категории:

$cat = get_the_category($post->ID);

// ID категории
$cat->cat_ID

// Название категории
$cat->cat_name 

// Альтернативное название категории
$cat->category_nicename

// Описание категории (задается на странице редактирования категории)
$cat->category_description

// ID родительской категории
$cat->category_parent 

// Количество записей в категории
$cat->category_count

Чтобы получить ID текущей категории

if (is_category()) {
  echo get_queried_object()->term_id;
}

Получаем рубрики произвольных постов используя get_the_terms()

$cur_terms = get_the_terms( $post->ID, 'custom_name' );
foreach( $cur_terms as $cur_term ){
  echo '<a href="'. get_term_link( (int)$cur_term->term_id, $cur_term->taxonomy ) .'">'. $cur_term->name .'</a>,'
}

Вывести категорию ссылкой

<?php the_category(', '); ?>

Как всегда, кладезь полезной информации wp-kama.ru.

Полезная инфа:

Оставить комментарий