Сегодня хотел поделиться простым решением для вывода нескольких миниатюр к записи, странице или произвольным типам записей. Иногда это необходимо для создания галерей интерне-магазина, каталога товаров или других задач. Но, в начале, хотел привести ряд решений от других разработчиков:

Вариант 1: На сайте Eysman.pro есть замечательное решение упомянутой задачи. Единственное, что мне не понравилось, в статье предлагается вывод всех существующих картинок сайта в блоке. Простым кликом выделяем нужную картинку, и сохраняем пост. Однако, это удобно только в тех случаях, когда картинок в принципе не много. А если их тысячи? Может возникнуть проблема с поиском нужной картинки.

Вариант 2: Использование стороннего плагина Multiple Post Thumbnails. Тоже неплохой вариант. Удобно, просто, быстро. Минус данного варианта — вы сможете добавить только второе изображение для поста. Конечно, можно слегка отредактировать код и появится возможность добавлять и 3, и 4 дополнительные миниатюры, однако невозможно добавить сразу несколько.

Вариант 3: Удобное и функциональное решение от Exabyte. Минусы не обнаружил, разве только подключение нескольких скриптов в админке.

Появится вот такой блок

Вариант 4: Идея приведенного ниже решения, собственно, не моя, а взята из одного всеми забытого плагина. Были с ним небольшие проблемы (если оставалась одна миниатюра, не хотел её удалять). В общем, причесал, подправил, и выкладываю. Описывать особо ничего не буду, вся необходимая информация в комментариях к коду. Его нужно добавить в файл functions.php

P.S.: Для добавления нескольких картинок нужно удерживая клавишу CTRL выделять необходимые миниатюры.
P.S.: Данный вариант выводит галерею через шорткод. Думаю, самостоятельно оформить его красиво — уже дело техники.

Шаг 1: Создаем необходимые подключения в админке WordPress

Для начала, создайте javascript файл custom_script.js и разместите его в папке js вашей темы Содержимое файла:

После создания скрипта, подключим его в административной панели.

Шаг 2: Создаем метабокс

Выводим содержимое блока с миниатюрками в созданном поле

Когда мы сохраняем запись, сохраняем данные произвольного поля:

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

Теперь можно вывести миниатюры с помощью шорткода [ product-gallery ].

Пример работы в административной части

Добавить комментарий