По-умолчанию в WordPress нет возможности задать миниатюру для категорий, но при разработке сайтов часто можно столкнуться с такой необходимостью. В этой статье мы постараемся разобраться, как добавить возможность добавления изображения для категорий и как этот медиафайл выводить на сайте.
Вариант №1. Использование плагина ACF (Advanced Custom Fields).
Этот плагин дает возможность добавлять различные кастомные типы полей к записям рубрикам и прочим таксономиям и произвольным типам полей на сайте. Нас интересует возможность добавления поля с картинкой именно для категории WordPress.
Давайте рассмотрим алгоритм действий.
1. Устанавливаем и активируем плагин «Advanced Custom Fields», если он у вас еще не установлен.

2. Далее, в админке, переходим в раздел «Группы полей», либо же «Произвольные поля».

3. Вверху страницы возле заголовка «Группы полей», нажимаем на кнопку «Добавить».

4. Вводим название группы полей и жмем кнопку «Добавить поле».

5. Заполняем основные поля для создания поля. Для примера, у меня введены следующие данные: «Ярлык поля» — «Изображение рубрики», «Имя поля» — «category_image», «Тип поля» — «Изображение», «Возвращаемый формат» — «Ссылка на изображение». Последний параметр очень важный, поскольку он определяет то, что будет возвращать наше поле для последующей его обработки на сайте. Там есть и другие настройки, по типу допустимых форматов картинок, размера, обязательности поля и другое. Достаточно заполнить поле по примеру в скриншоте. Снизу нажимаем «Добавить поле».

6. Чуть ниже после заполнения основных данных для поля мы выбираем формат привязки поля к определенным разделам сайта.

Тут мы указываем сортировку по таксономии с определением того, что мы будем работать только с рубриками. Если вам нужно сделать тоже для кастомной таксономии, то во втором селекте выбираете свою таксономию.
7. После заполнения этих полей поднимаемся вверх и жмем кнопку «Опубликовать», или «Обновить», если группа полей уже создавалась ранее.

8. Переходим в раздел админки «Записи» — «Рубрики». Жмем на редактирование уже созданной рубрики и внизу увидим следующий блок.

9. Жмем кнопку «Добавить изображение» и загружаем либо выбираем из библиотеки файл изображения. В итоге у вас должно получиться вот такое.

На этом все, вы привязали картинку к рубрике WordPress.
Теперь давайте разберемся как вывески это изображение на сайте.
Для отображения миниатюры рубрики WordPress на самой странице категории можно использовать следующий код.
<?php if($category_image=get_field("category_image",get_category($cat))){?>
<img src="<?php echo $category_image;?>"/>
<?php }?>
Где category_image – это имя поля, которое мы заполняли при его создании.
Если же вам нужно вывести блок с названиями и фото категорий в любом произвольном месте на сайте, то можно использовать следующий код для вставки.
<?php
$categories = get_categories(array('taxonomy'=>'category','hide_empty'=>false));
if($categories){
foreach($categories as $cat){?>
<div class="cat">
<div class="name"><a href="<?php echo get_category_link($cat->term_id);?>"><?php echo $cat->name;?></a></div>
<?php if($category_image=get_field("category_image",$cat)){?><div class="image"><img src="<?php echo $category_image;?>"/></div><?php }?>
</div>
<?php }?>
<?php }?>
Этот код сначала сортирует таксономии, отделяя только рубрики, после этого, если категории существуют, выводит название и через проверку выводит саму картинку.
Вариант №2. Использование плагина Taxonomy Images.
Этот плагин добавляет возможность привязывать фото к каждой категории или любой другой таксономии.
Алгоритм работы с плагином.
1. Устанавливаем и активируем плагин «Taxonomy Images».

2. Переходим в раздел админки «Categories Images» и попадаем на страницу с настройками, где можно поставить чекбоксы и исключить вывод данной функции на определенных категориях. По-умолчанию возможность добавлять изображения включена для всех категорий и таксономий WordPress.

3. Переходим в раздел «Записи» — «Рубрики». Как видно, появилась возможность добавлять рубрику при создании категории, а также выводятся миниатюры картинок.

4. Также, при редактировании рубрики вы можете добавить, либо изменить ее миниатюру.

5. Добавляем фото и жмем «Обновить».
Как вывести картинку в рубриках с помощью плагина Taxonomy Images?
Для этого в нужном месте вашей WordPress темы размещаем код.
<?php
$args = array(
'parent' => 0,
'hide_empty' => 0,
'exclude' => '', // ID рубрики, которую нужно исключить
'number' => '0',
'orderby' => 'count',
'order' => 'DESC',
'pad_counts' => true
);
$catlist = get_terms('category',$args);
?>
<ul>
<?php foreach ($catlist as $cat) : ?>
<li>
<img src="<?php echo z_taxonomy_image_url($cat->term_id, 'thumbnail'); ?>" />
<a href="<?php echo get_term_link($cat->slug, 'category'); ?>"><?php echo $cat->name; ?></a>
</li>
<?php endforeach; ?>
</ul>
Важный момент! Параметр thumbnail здесь отвечает за размер выводимого изображения, конкретно thumbnail задается в WordPress по дефолту. Если вам нужно указать другой размер, то выбираете из списка дефолтных или же создаете свой тип. Второй момент – это параметр category, он указывает на тип таксономии. Если вы хотите сменить таксономию, то просто прописываете ее название, например catalog.
На этом сегодня все. С помощью двух этих подходов вы можете быстро и легко реализовать возможность добавления изображение к любой рубрике и вывести его на сайте.