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

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

Функцию можно использовать за пределами Цикла 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(', '); ?>

#4 Вывод ссылок на рубрики поста

foreach (get_the_category() as $category) {
    printf(
        '<a href="%s" class="link link_text">%s</a>', // Шаблон вывода ссылки
        esc_url(get_category_link($category)), // Ссылка на рубрику
        esc_html($category->name) // Название рубрики
    );
}

#5 Вывод ссылок на рубрики поста через запятую

$links = array_map(function ($category) {
    return sprintf(
        '<a href="%s" class="link link_text">%s</a>', // Шаблон вывода ссылки
        esc_url(get_category_link($category)), // Ссылка на рубрику
        esc_html($category->name) // Название рубрики
    );
}, get_the_category());

echo implode(', ', $links);

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

Выводим список самых просматриваемых постов с помощью плагина Post Views Counter

Выводим 8 самых просматриваемых записей. Количество просмотров каждой записи считает плагин Post Views Counter. Небольшое…

Пример реализации стандартных комментариев на сайте на CMS WordPress с помощью файла comments.php

Подключение комментариев к записи или странице происходит в файле single.php или page.php: Подключается файл comments.php,…

Как на сайте на CMS WordPress сделать все картинки в статьях некликабельными

Бывает ситуация, когда редактор при добавлении картинок в статьи, делает картинки кликабельными для открытия в…

Групповое редактирование цен в магазине на woocommerce

Нужно массово поменять цены на товары в магазине Woocommerce. Есть много платных отличных вариантов, но…

Ответить