get_the_category — функция для вывода категорий (рубрик) к указанному посту

Функция возвращает массив объектов (в данном случае рубрики, в которых находится пост с указанным в параметрах 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

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

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: