Как добавить картинки рубрикам и категориям

Очень часто вижу в интернете вопрос: «Как вывести список категорий с картинкой» или «Как добавить изображение рубрикам»

А на самом деле это очень просто!

С помощью плагинов:

Categories Images

Taxonomy Images

Если не любите плагины:

Вариант 1

В папке /wp-content/upload/ создаем папку cat

В эту папку закачиваем картинки с расширением png. Название картинки должно соответствовать slug категории.

Там, где хотим вывести список категорий вставляем код:

$siteurl = site_url(); // Получаем URL сайта
foreach((get_categories()) as $category) { 
    echo $category->cat_name; //Выводим имя категории
    echo '<img src="' .$siteurl.'/wp-content/uploads/cat/' . $category->slug . '.png" alt="' . $category->cat_name . '" />'; // Выводим изображение
}

Вариант 2

В functions.php:

Код:
// Снимаем фильтр на запрет html тэгов в описании категорий.
$filters = array('pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description');
foreach ( $filters as $filter ) {
  remove_filter($filter, 'wp_filter_kses');
}

foreach ( array( 'term_description' ) as $filter ) {
  remove_filter( $filter, 'wp_kses_data' );
}

В описании категории теперь можно вставлять картинку в html виде, типа:

Код:
Это иконка категории: <img src="http://site.com/pic.png">, а это описание.

Вариант 3

Либо можно пойти еще проще:
В админке в описании категории прописываем на первой строке — описание, а на второй полный урл к иконке рубрики, например:

Код:
Описание рубрики
http://site.com/pic.png

Затем в archive.php:

Код:
<?php

$catdesc = category_description();
$catdesc = explode("\n", $catdesc);

$lazha = array("\n", "<p>", "</p>");
$catdesc = str_replace($lazha, '', $catdesc);

echo $catdesc[0];
echo '<img src="'.$catdesc[1].'"/>';

?>

Тем самым сверху отобразится описание, а ниже будет желанная картинка.

Leave a Comment