Сегодня хочу показать вам пошаговую инструкцию установки миниатюры для рубрик WordPress. Сразу наверное стоить оговориться, это не стандартное решение на базе плагина "Taxonomy Images II" или "Category Images II" которые так хорошо описанные в сети интернет и которые уже больше двух лет как устарели.
Возможно вы искали вывести миниатюру wordpress для записи поста?, для этого перейдите по ссылке. В этой же статье я буду описывать как задать миниатюру для рубрики, метки, таксономии.
Я предлагаю задать миниатюру для рубрики через произвольные поля WordPress для категорий, таксономий и меток. Создавать поля для wordpress картинка рубрики мы будем на базе плагина Advanced Custom Fields.
Пошаговая инструкция будет описанная только для рубрик, но в конце я напишу что нужно поменять чтобы этот код работал для остальных таксономий, а также меток.
1) Нужно установить к себе на сайт плагин ACF, вот ссылка на него: Получить ссылку на (ACF)
2) После активации плагина у вас появится в левом сайдбаре админки вот такая вкладка:
3) Заходим в нее и нажимаем "добавить новую"
4) Даем имя для блока "Поля для категории" и нажимаем кнопку "Опубликовать"
5) Нажимаем вкладку "+ добавить поле"
6) и заполняем все поля, таким образом как это я делаю на скине ("Ярлык поля"-"wordpress картинка рубрики", "Имя поля" - "imgcat1", "Тип поля" - "Изображение", "Вернуть значение" - "Ссылка на изображение"):
7) Нажимаем кнопку "Обновить" справа в верху
8) В блоке местоположение указываем "в первой выпадашке" - "термин таксономии", "во второй" - "равно", "третья" - "Рубрики", как на скриншоте:
9) Повторяем п.7, нам нужно одновить информацию.
10) Мы добавили поле wordpress картинка рубрики для нашего сайта, и теперь можем его заполнить во вкладке рубрики. (Если это таксономия или метка то в соответствующей вкладке)
11) Создаем рубрику или открываем уже созданную:
12) Заходим в рубрику и там видем вот такую замечательную вкладку "wordpress картинка рубрики" и там же справа можно добавить изображение для категории:
13) После того как мы добавили картинку для рубрики, у нас получился там вот такой блок:Нажимаем сохранить изменения в категории.
С админкой сайта мы закончили, но еще нужно настроить код вывода картинки рубрики WP.
Для начала нужно определиться с тем, где нам нужна wordpress картинка рубрики, от этого зависит шаблон вставки и код вывода. Я постараюсь описать оба варианта.
14) Продолжаем нашу пошаговую настройку миниатюры рубрик / таксономий / меток. Для начала выведем картинку категории в текущей рубрике, пожалуй это самая простая задача. Определяем шаблон, обычно это category.php или index.php и закидываем туда вот такой код:
<?php if($imgcat1=get_field("imgcat1",get_category($cat))){?>
<img src="<?php echo $imgcat1;?>"/>
<?php }?>
Если вы все сделали правильно и закинули код в нужное место, в текущей рубрике должна появится картинка, если вы не забыли добавить ее для этой категории.
15) Сейчас покажу код, который выведет картинку рубрики wordpress в произвольном месте, например сайдбаре или главной странице. Код привожу полностью рабочий, его достаточно вставить в любое место, кроме цикла ВП 🙂
<?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($imgcat1=get_field("imgcat1",$cat)){?><div class="img"><img src="<?php echo $imgcat1;?>"/></div><?php }?>
</div>
<?php }?>
<?php }?>
Код полностью автономный, для придания вида стоить дописать парочку стилей, но посмотреть и понять как вывести wordpress картинка рубрики можно и так.
Для начала мы делаем выборку всех категорий, а потом проверяем есть ли у них поле с миниатюрой, если есть выводим его
<?php if($imgcat1=get_field("imgcat1",$cat)){?><div class="img"><img src="<?php echo $imgcat1;?>"/></div><?php }?>
На этом пожалуй все, этих двух кодов вам будет достаточно для того чтоб вывести картинку рубрики WordPress в любом месте, а также в самой категории.
Эта пошаговая инструкция частично пересекается с описанием категорий, подробнее об описание рубрики wordpress вы можете узнать перейдя по ссылке.
Если wordpress картинка категории не появилась на вашем сайте значит вы что то сделали не так. Можно описать проблему в комментариях или в разделе Вопрос / Ответ.
Спасибо огромное. Без всяких бубнов все заработало, а я потратил несколько часов, чтобы решить эту проблему.
Приветствую. А возможно ли в этом списке категорий выводить только категории по определенную букву? К примеру мне надо получить категории с A до D. Пробовал юзать range, surname, name__like но не подходит никак (
Полный код подскажите? 🙂
Приветствую. Вывод картинок не работает. Из кода 1 пункте 15 выводит просто список категорий.
От версии WP зависит? Поле назвал в точности так же, imgcat1, пытаюсь на индекс вывести категории с тумбами, но выводятся только список без превью
Там стоит именно "ссылка на изображение" К сожалению не могу линки на скрины вставить, походу спам фильтр режет их, хотя до этого пропускало, и ответы с ними добавлялись в каменты (
Разобрался. Не в тех файлах темы вставлял код вывода. Спасибо за помощь и за пост!
Код обрезало вот основная часть
$categories = get_categories(array('taxonomy'=>'category','hide_empty'=>false));if($categories);foreach($categories as $cat);if($imgcat1=get_field("imgcat1",$cat));if (cat_is_ancestor_of($ancestor, $childcat->cat_ID) == false){echo '';
Здравствуйте. Не могу вывести картинки на дочерние рубрики, выводится только одна для всех рубрик с первой рубрики.
Помогите пожалуйста!
'category','hide_empty'=>false));
if($categories);
foreach($categories as $cat);
if($imgcat1=get_field("imgcat1",$cat));
if (cat_is_ancestor_of($ancestor, $childcat->cat_ID) == false){
echo '';
echo '';
echo $childcat->cat_name . '
cat_ID).'">
';
$mycat=get_the_category(); $mycat=$mycat[0];
$postslist = get_posts('posts_per_page=-1&category='.$childcat->cat_ID);
?>
cat_ID; } } ?>
спасибо автору за данную статью. Ваш ресурс уже помогает не первый раз. А ваши оперативные ответы на вопросы, вообще просто супер.
Если я уже вывожу список при помощи get_the_term_list, что можно подправить в следующем коде, чтобы добавить туда картинку:
ID, 'actors', 'В ролях', '', ''); ?>
Привет! Такой вопрос: у меня выводится список таксономий уже плагином Advanced Custom Fields, хочу добавить к выводимому списку картинку таксономии, если она уже есть.
Пытаюсь вывести вот так:
function tax_img() {
$imgcat1 = get_field("imgcat1") ;
echo get_the_term_list($post->ID, 'actors', 'В ролях', ''.'', '');
}
не работает
Ваше редактор обрезает код и не дает вставить ссылки
Добрый день!А как сделать так, чтобы картинка, которую я загружаю, обрезалась до нужных размеров?
Вот этот код работает, но к сожалению только при добавлении медиафайла к записи
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'thumb-250x250', 250, 250, true );
}
add_filter( 'image_size_names_choose', 'new_custom_sizes' );
function new_custom_sizes( $sizes ) {
return array_merge( $sizes, array(
'thumb-250x250' => 'Размер 250Х250'
) );
}
А если добавлять картинку к рубрике, то данных для ввода таких не появляется
Вставил на главной вот такой код
'category','hide_empty'=>false));
if($categories){
foreach($categories as $cat){?>
<a href="term_id);?>">name;?>
<img src=""/>
и вывело только список рубрик, но без картинок.
И еще вопрос, как вывести все миниатюры дочерних рубрик?
А нет, все вывелось. Только один вопрос остается, можно ли вывести все картинки в цикле для дочерних рубрик
Да, я разобрался уже) спасибо
Здравствуйте. Использую Ваш метод на нескольких проектах, всё чудесно. Но, сейчас необходимо добавить вывод изображения в цикл. Подскажите, как это реализовать.
Пытаюсь "втиснуть" изображение впереди ссылки на категорию. Заранее спасибо за ответ.
Решил вопрос через поле таксономии.
Здравствуйте, а если в главной рубрики идет вывод дочерних рубрик и нужно вывести миниатюры к ним. Какой код тогда нужно писать? Всё что выше изложено не подходит. Спасибо за ранее.
не работает
у меня вывод рубрик идет
Может я что не догоняю ))
не могу вывести код в чат
wp_list_categories('include=92&title_li="' .$src . '"');
Спасибо буду разбираться
Здравствуйте! Подскажите, как вывести изображение для рубрики в сайдбаре. Что оно отображалось на странице этой рубрики и в записях, которые принадлежат этой рубрике. Сейчас, когда вставляю код из п.15, получаю список всех рубрик и их изображений
А если у меня нет постов, которые относятся к нескольким рубрикам?
Добрый день!
Еще один вопрос: а можно сделать, чтобы в html вставлялся не только сама картинка, путь до нее, а еще и ее атрибуты, например alt или title.
Альты у картинок должны быть при добавлении я прописывал. Я переключаю, ставлю отдавать объект, но картинки перестают отображаться, я так понимаю, необходима еще коррекция кода, а я, честно говоря, не допру как его поменять...
День добрый!
Вставил Ваш код, только поменял порядок вывода изображения и ссылки на категорию:
'category','hide_empty'=>false));
if($categories){
foreach($categories as $cat){?>
<img src=""/>
<a href="term_id);?>">name;?>
Все отлично работает, но этот код собирает все категории, которые только сущеествуют и если нет картинки просто выводит ссылку. Мне же нужно вывести только подкатегории данной родительской категории. Заранее спасибо за ответ!
Обрезало код при отправке, я вставлял тот, что в п.15
Спасибо! Все сразу получилось)
Добрый день, вопрос такой, а как вывести изображение определенного размера thumbnail, medium, large ну или свой тип?
Здравствуйте, я новичек в разработке. Сделал все как в мануале, но мне нужно вывести миниатюры на странице категорий, (в общем на сайте есть страница "Категории") и нужно чтобы на этой странице были миниатюры-ссылки на каждую категорию
Цикл в пункте 15) не совсем верен, картинка не выводится, вы забыли добавить параметр url, будет так <img src=""/>
Не рабочий, я тупо взял ваш код ничего не добавляя, в теге img Он выводит слово "Array" вместо пути к картинке, потому что вы не задали параметр Url для вашего field, поэтому он и не получает URL картинки и выводит массив. prntscr . com/e4q8l3 Допишите пожалуйста, чтобы те кто сталкнется с той же проблемой, знали
А как вывести в цикле 1 изображение для таксономии, сейчас с этим кодом выводит в каждую таксономию сразу все изображения
Скажите пожалуйста, как сделать тоже самое только для меток?
Ни как не получается вывести картинку
День добрый.
Не подскажете, в чём дело: при создании поля картинки для рубрики это поле появляется при создании новой рубрики, но в уже созданной его нет. Отчего так и как это лечить?
Сори, вопрос снимается. Похоже, было достаточно обновить плагин.
Добрый день! Подскажите пожалуйста, как сделать, чтобы выводил определенную рубрику, а то сейчас выводит все рубрики
Сделал все как описано в алгоритме. На главной получилось отобразить список этих рубрик, но не получается вывести картинку в файле archive.php. Вставлял тот код, что вы вставляли "category.php или index.php", только со своим именем поля (cat_pct).
Файла category.php в теме нет. Вот все, что у меня есть в теме (-url-). Проверил код и увидел что, условие if($cat_pct=get_field("cat_pct",get_category($cat))) не выполняется. Пробывал просто выводить echo "555", а ничего не получилось. Может я не туда вставлял? (-url-)
Ваш код не подошел. Нашел другое решение. Возможно костыль, но работает)
'category','hide_empty'=>false,'include'=>$category[0]->term_id));
if($categories){
foreach($categories as $cat){?>
<img src=""/>
Спасибо, полезная информация, вроде все получилось, но возник вопрос, можно ли сделать вывод миниатюры только одной рубрики на странице поста (конечно же пост принадлежит данной рубрике)?
Здравствуйте. У меня проблема с выводом картинок из произвольных рубрик. Вставляю ваш код в габлон category.php, но ничего не выводится. Подскажите, в чем может быть проблема?
Здравствуйте. У меня на сайте wordpress картинка рубрики отсутствует. Сделал вроде все как вы описали но добавить миниатюру не могу. Подскажите что мне делать?
Супер! Благодарю!