get_the_category()
Получает массив данных о категориях относящихся к указанному посту.
Функцию можно использовать за пределами Цикла WordPress, если указать ID поста.
Результат работы этой функции кэшируется.
Хуки из функции
Возвращает
WP_Term[]. Массив WP_Term объектов с данными о каждой категории, которая относится к посту. Отдельный объект для каждой категории. Каждый объект WP_Term также дополнен свойствами, генерируемыми функцией _make_cat_compat().
Использование
get_the_category( $post_id );
- $post_id(число)
- ID поста, категории которого нужно получить.
По умолчанию: $post->ID
Примеры
#1 Категории поста за пределами цикла
Пример, как получить категории поста за пределами Цикла WordPress:
global $post; $categories = get_the_category( $post->ID ); var_dump( $categories );
Данные, которые содержит каждый объект категории (все свойства смотрите у класса WP_Term и функции _make_cat_compat()):
$cat = get_the_category($post->ID); // ID категории $cat->term_id // Название категории $cat->name // Ярлык категории $cat->slug // Описание категории (задается на странице редактирования категории) $cat->description // ID родительской категории $cat->parent // Количество записей в категории $cat->count
#2 Название первой категории
Показать название только первой категории (если пост относится к нескольким категориям):
$category = get_the_category(); echo $category[0]->name;
#3 Получение данных первой категории из массива
Показать только имя первой категории..
В этом примере мы получаем первый элемент массива ([0]) $categories.
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo esc_html( $categories[0]->name );
}
Сделайте первую категорию ссылкой на страницу категории:.
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">' . esc_html( $categories[0]->name ) . '</a>';
} #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 Выведем картинку для каждой категории
Этот пример показывает как можно создать картинку к каждой категории, в атрибуте alt будет указано название категории. Картинки должны иметь названия такие же как и ID категорий (12.jpg) и лежать в корне сайта в папке images. Код нужно использовать внутри Цикла:
foreach( get_the_category() as $category ){
echo '<img src="http://example.com/images/' . $category->term_id . '.jpg" alt="' . $category->name . '" />';
} #6 Вывод ссылок на рубрики поста через запятую
$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 ); #7 Пример того что возвращает функция
$categories = get_the_category(); print_r( $categories );
Result:
Список изменений
| С версии 0.71 | Введена. |