Возможны несколько вариантов исполнения, и предлагаемый мной не является единственно правильным, а просто поможет Вам сэкономить время и понять как всё работает. Я (лично я) последнее время подсел на
PODs и почему-то везде его сую. Так вот, если использовать PODs, то решение вашей задачи будет такой:
- Инсталируем "PODs" в "Wordpress":
PlugIns > Add New > Pods - Custom Content Types and Fields;
- Добавляем для записей типа "Page" дополнительное поле:
Pods Admin > Add New > Extend Existing > Post Type - Poge > Add Field.
- Так как это будут некие файлы, и их будет несколько, то надо добавить поле (Add Field), например с такими параметрами:
- Label: Gallery Images
- Name: page_gallery_images
- Field Type: File / Image / Video
- Upload Limit: Multiple Files
- File Uploader: Attachments
- Restrict File Types: Images
- Сохраняем и смотрим что получилось. В редактировании станиц должно появиться:
Extra Fields с полем
Gallery Images и кнопкой
Add File. Сюда и загружаем (или выбираем из имеющихся в библиотеке) нужные картинки.
- Для вывода картинок в шаблоне есть несколько вариантов, используя функции "WordPress" или функции "PODs", или и то и другое. В этом примере используем функцию "WordPress"
get_post_meta():
$page_images = array(); //Сюда будем записывать информацию о картинках
$page_id = get_the_ID(); //ID нынешней страницы
//Получаем информацию из созданного нами поля "page_gallery_images":
$page_images = get_post_meta($page_id, 'page_gallery_images');
//Если нужно получить только одну (первую) картинку, то в конце добавим true:
//$page_images = get_post_meta($page_id, 'page_gallery_images', true);
//Документация здесь: https://developer.wordpress.org/reference/functions/get_post_meta/
//Разные поля PODs возвращают разные типы данных,
//в нашем случае, это будет массив с информацией о картинках
//посмотреть содержимое которого можно (например) так:
//echo '<pre>';
//print_r ($page_images);
//echo '</pre>';
//Выводим картинки:
foreach ( $page_images as $image ){
echo '<img src="' . $image['guid'] . ">';
}
Если надо сделать несколько "слайдеров", то можно создать несколько полей для загрузки изображений в
Pods Admin и вывести их в шаблоне. Для тех кто не хочет ничего выводить в шаблоне, существуют
Shortcodes и
MagicTags.
Также совсем не обязательно поля привязывать к страницам, а можно сделать отдельную страницу с настройками (
Pods Admin > Add New > Custom Settings Page), для вывода полей которой пригодиться этот код:
$settings = pods('name_of_custom_settings_pod');
$some_field = $settings->field( 'name_of_field_from_settings' );
Надеюсь эта "инструкция" будет Вам полезна :)