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

Плагин Terms-gallery позволяет легко решить именно такую задачу.

Он позволяет загружать изображения к абсолютно любым терминам любых таксономий, присутствующим на вашем сайте, независимо от того идет ли речь о стандартных метках или категориях или о любых пользовательских таксономиях, которые создали вы или какие-либо плагины.

Плагин не имеет настроек и чрезвычайно прост в применении.

После установки плагина и его активации при посещении страницы настроек какого-либо элемента таксономии вы увидите кнопку "Добавить изображение в галерею".

16.05

Если нажать на нее, то откроется стандартное окно загрузки или выбора уже загруженных изображений.

16.051

Когда изображение было загружено или выбрано, то после нажатия кнопки "Добавить в галерею", выбранное изображение будет добавлено для сохранения в галерею термина таксономии.

16.052 16.053

Прикрепленное изображение можно сразу же удалить если оно по каким-то причинам не подходит. И так можно добавить в галерею термина таксономии любое количество изображений.16.055

Добавленные изображения можно разделить на два типа. Тип front и тип gallery. Эти типы не отличаются друг от друга и нужны лишь, если все изображения в галерее нужно разделить для каких то нужд на две части. 16.054Например, мне для одного элемента таксономии надо было одно изображение выводить в списке элементов таксономий как главное, а остальные надо было выводить уже на странице архива этого термина и формировать слайдер из этих изображений. Поэтому я одно изображение отмечал как главное и от относил его таким образом к типу front, а остальные изображения автоматически попадали в тип gallery.

Чтобы  получить изображения галереи какого-либо элемента таксономии на сайте необходимо воспользоваться функцией плагина:

<?php $gallery = get_term_gallery($term_id, $type); ?>

где
$term_id - идентификатор термина таксономии (число, обязательно),
$type - тип изображения (строка, необязательно)

Функция возвратит массив идентификаторов изображений, используемых в галереи.
Например, если указать только первый аргумент функции - идентификатор термина:

<?php $gallery = get_term_gallery(68); ?>

то получим массив содержащий все прикрепленные к термину изображения, разделенные по типам изображений, такого вида:

Array ( [0] => Array ( [ front] => 2253 ) [1] => Array ([ gallery] => 2246 ) [2] => Array ([ gallery] => 2234 ) )

Нам останеться только прогнать массив через какой-либо цикл и вывести изображения используя их идентификаторы:

<?php
foreach($gallery as $image){
     if($image['front']){
        $large_image_url = wp_get_attachment_image_src( $image['front'], 'large');
        $large_image = '<div class="img"><img src="'.$large_image_url[0].'" alt=""/></div>';
     }

    if($image['gallery']){
	$small_image_url = wp_get_attachment_image_src( $image['gallery'], 'thumbnail'); 	
	$small_image .= '<a href="'.$large_image_url[0].'">
                 <img width="117" height="117" src="'.$small_image_url[0].'" alt=""/>
         </a>';
    }
}
?>

Если же нам нужно получить только изображения определенного типа, то нужно указать второй аргумент, указывающий тип изображения.
Получим только изображения типа gallery, без главных:

<?php $gallery = get_term_gallery(68,'gallery'); ?>

Результатом будет массив попроще:

Array ( [0] => 2246 [1] => 2234 )

т.е. в этом случае мы можем получать идентификатор нужного нам изображения из без цикла, например так:

<?php echo $gallery[0]; //Выведет идентификатор первого изображения в массиве ?>

Но через цикл, как всегда, удобнее:

<?php
foreach($gallery as $image){
     $image_url = wp_get_attachment_image_src( $image, 'thumbnail'); 	
     $list_image .= '<a href="'.$image_url[0].'">
          <img width="117" height="117" src="'.$image_url[0].'" alt=""/>
     </a>';
}
?>

Плагин расчитан на пользователей знакомых с основами PHP, ориентирующихся в функционале WordPress и имеет представление о таксономиях и терминах.

Плагин продается за чисто символичную цену, которая позволит продолжать написание новых и развитие уже написанных плагинов.

Цена файла: 100

Загрузить файл