Функция возвращает массив объектов (в данном случае рубрики, в которых находится пост с указанным в параметрах ID).
Короче говоря в итоге вы получаете все рубрики поста и информацию о них.
Использование
get_the_category( $id ) |
Параметры
$id
(целое) ID поста, если функция используется в цикле, этот параметр необязателен.
Возвращаемые значения
Как я уже говорил, функция возвращает массив объектов, каждый из них содержит информацию об одной из рубрик, в которой находится пост.
В скобках указаны эквивалентные варианты.
- term_ID (cat_ID) — ID рубрики,
- name (cat_name) — название рубрики,
- slug (category_nicename) — ярлык категории,
- description (category_description) — описание категории,
- parent (category_parent) — ID родительской категории,
- count (category_count) — количество записей (постов) в рубрике,
- term_group — значение колонки term_group в базе данных,
- term_taxonomy_id — ID таксономии, у рубрик он равен 1,
- taxonomy — название таксономии, для рубрик — category,
- object_id — ID объекта;
Примеры
Выводим список рубрик со ссылками
Переменной $post_id задайте своё значение, либо просто удалите её оттуда, если используете этот код внутри цикла.
Для получения URL рубрики используем функцию get_category_link().
$categories = get_the_category($post_id); if($categories){ echo '<ul>'; foreach($categories as $category) { echo '<li><a href="'. get_category_link($category->term_id) . '">' . $category->cat_name . '</a></li>'; } echo '</ul>'; } |
Выводим список рубрик к текущему посту через запятую
Функция trim() нужна для удаления каких-либо символов по краям строки, в данном случае запятую с пробелом.
$categories = get_the_category(); if($categories){ foreach($categories as $category) { $out .= '<a href="'.get_category_link($category->term_id ).'">' . $category->name . '</a>, '; } echo trim($out, ', '); } |
Указываем ссылку только на первую рубрику, в которой находится пост
К каждому объекту массива $categories можно обратиться по порядковому номеру, нумерация начинается с нуля.
$categories = get_the_category(); if($categories[0]){ echo '<a href="' . get_category_link($categories[0]->term_id ) . '">'. $categories[0]->name . '</a>'; } |
Источник: misha.blog