Обычно для добавления изображения (миниатюры) таксономии импользую плагин Advanced Custom Fields. Плагин хороший, но довольно тяжеловат, т.к. является мощным многозадачным плагином. Есть более легковесная альтернатива — плагин taxonomy term image master, состоящий всего из 2-х небольших файлов.
Скачать плагин можно здесь
Функционал taxonomy term image master
По умолчанию, плагин добавляет поле-изображение для category, изменить это можно 2-мя способами:
изменив таксономию
function the_term_image_taxonomy( $taxonomy ) {
// use for tags instead of categories
return 'post_tag';
}
add_filter( 'taxonomy-term-image-taxonomy', 'the_term_image_taxonomy' );
либо указав несколько таксономий
function the_term_image_taxonomy( $taxonomy ) {
// use for tags and categories
return array( 'post_tag', 'category' );
}
add_filter( 'taxonomy-term-image-taxonomy', 'the_term_image_taxonomy' );
Вывести изображение
Одной из привлекательных сторон данного плагина является его интеграция в wordpress, т.е. он вызывается и работает на основе служебных функций WP.
Вывести изображение в виде миниатюры, с всеми присущими ей атрибутами
$term = get_term( 123, 'category' );
if ( $term->term_image ) {
echo wp_get_attachment_image( $term->term_image, 'full' );
}
Если нам нужно получить только ссылку на изображение, то нужно выводить так
<?php echo wp_get_attachment_url( $product_tag->term_image, 'large' ); ?>
Единственным ограничением данного решения является, то что поле-изображение мы можем задавать только одно. Ведь фактически плагин создает миниатюру термина таксономии.
Еще плагины: изображение и цвет таксономии
WP Term Images (3000) и WP Term Colors (2000) работают по немного другому принципу нежели предыдущее решение.
Вывести цвет термина таксономии:
<?php echo get_term_meta( $childcat->cat_ID, 'color', true ); ?>
Вывести изображение термина таксономии:
<?php $image_id = get_term_meta( $childcat->cat_ID, 'image', true );
$image_data = wp_get_attachment_image_src( $image_id, 'full' );
echo '<img src="'.$image_data[0].'">'; ?>