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 в Питере.