Get_the_category - функция для вывода категорий к посту в WordPress

Опубликовано: 11.10.2017

Функция возвращает массив объектов (в данном случае рубрики, в которых находится пост с указанным в параметрах ID).

Короче говоря в итоге вы получаете все рубрики поста и информацию о них.

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

Параметры

$id

(целое) ID поста, если функция используется в цикле, этот параметр необязателен.

Возвращаемые значения

Как я уже говорил, функция возвращает массив объектов, каждый из них содержит информацию об одной из рубрик, в которой находится пост.


WordPress. How To Change The Categories/Tags And Posts Order In The Filterable Portfolio

В скобках указаны эквивалентные варианты.

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>' ; }

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

rss