Этот плагин добавляет интуитивно понятное мета-окно галереи изображений на экран редактора страниц.
Содержание
Скачать можно здесь.
Описание
Этот плагин добавляет интуитивно понятное мета-окно галереи изображений на экран редактора страниц. Разработанный для разработчиков тем, он выводит массив идентификаторов вложений, которые можно использовать для управления галереями и слайдерами во внешнем интерфейсе.
Показать варианты
По умолчанию плагин добавляет мета-поле галереи изображений только на страницы, но может отображаться в других типах сообщений, определенных сообщениях или страницах и шаблонах страниц с использованием igmb_display_meta_boxфильтра.
В приведенном ниже примере показано, как вы можете реализовать этот фильтр в своей теме (значения, показанные ниже, являются значениями фильтра по умолчанию):
add_filter( 'igmb_display_meta_box', 'myprefix_display_gallery_meta_box' );
/**
* Filter to add the image gallery meta box to specific screens.
*
* @param array An array containing default values.
* @return array An array containing new values.
*/
function myprefix_display_gallery_meta_box( $display ) {
$display = array(
'title' => __( 'Image Gallery', 'my-text-domain' ), // meta box title
'post_type' => array( 'page' ), // array of post type slugs
'post_id' => array(), // array of post IDs (any post type)
'page_template' => array(), // array of page template file names
'page_on_front' => false, // display on front page (true or false)
'page_for_posts' => false, // display on posts page (true or false)
'priority' => 'high', // meta box priority
);
return $display;
}
Вы можете переопределить все параметры сразу или включить в фильтр только те, которые хотите переопределить. В следующем примере метаполе будет отображаться только на странице, назначенной главной страницей в разделе «Настройки» > «Чтение»:
add_filter( 'igmb_display_meta_box', 'myprefix_display_gallery_meta_box' );
/**
* Filter to add the image gallery meta box to specific screens.
*
* @param array An array containing default values.
* @return array An array containing new values.
*/
function myprefix_display_gallery_meta_box( $display ) {
$display = array(
'page_on_front' => true,
);
return $display;
}
Интерфейсное использование
Чтобы получить идентификаторы вложений галереи, используйте get_post_metaследующее:
$images = get_post_meta( $post_id, '_igmb_image_gallery_id', true );
Затем вы можете просмотреть каждый идентификатор и использовать wp_get_attachment_linkили wp_get_attachment_imageдля отображения изображений. Однако более гибкий вариант предполагает использование wp_prepare_attachment_for_jsфункции, которая возвращает массив объекта поста вложения, который можно использовать для извлечения определенной информации для каждого изображения.
В следующем примере показано, как отобразить базовый список изображений с использованием данных, извлеченных из wp_prepare_attachment_for_jsмассива внутри файла шаблона темы:
<?php
// Attachment IDs
$images = get_post_meta( get_the_ID(), '_igmb_image_gallery_id', true );
// Display attachments
if ( $images ) {
?>
<div class="attachment-images">
<?php
foreach( $images as $image ) {
// Get attachment details
$attachment = wp_prepare_attachment_for_js( $image );
?>
<div>
<a href="<?php echo $attachment['link']; ?>">
<img src="<?php echo $attachment['sizes']['medium']['url']; ?>" alt="<?php echo $attachment['alt']; ?>" />
</a>
<p><?php echo $attachment['caption']; ?></p>
</div>
<?php
}
?>
</div>
<?php
}
Обратите внимание , что новые размеры изображений, добавленные через add_image_size, не будут автоматически доступны для использования wp_prepare_attachment_for_js. Вам нужно будет добавить новые размеры изображения с помощью image_size_names_chooseфильтра. Следующая функция иллюстрирует, как добавить это в вашу тему.
add_filter( 'image_size_names_choose', 'myprefix_custom_image_sizes' );
/**
* Add new image sizes to list of default image sizes so
* wp_prepare_attachment_for_js() can access them.
*
* @param array An array containing default image sizes and their names.
* @return array Merged array containing new image sizes and their names.
*/
function myprefix_custom_image_sizes( $size_names ) {
// Add new image sizes to array
$new_size_names = array(
'featured-image' => __( 'Featured Image', 'my-text-domain' ),
'portfolio-archive' => __( 'Portfolio Archive', 'my-text-domain' ),
);
// Combine the two arrays
$size_names = array_merge( $new_size_names, $size_names );
return $size_names;
}
Кроме того, в этом примере показано, как создать галерею, используя встроенный шорткод галереи WordPress:
<?php
// Attachment IDs
$images = get_post_meta( get_the_ID(), '_igmb_image_gallery_id', true );
$wp_gallery = '
';
echo do_shortcode( $wp_gallery );
Для получения дополнительной информации, пожалуйста, обратитесь к следующим страницам:
- get_post_meta()
- wp_get_attachment_link()
- wp_get_attachment_image()
- wp_prepare_attachment_for_js()
- Шорткод галереи
Установка
Использование панели инструментов WordPress
- Перейдите на панель управления плагинами «Добавить новый».
- Нажмите «Загрузить плагин» и выберите
image-gallery-metabox.zipсо своего компьютера . - Нажмите «Установить сейчас»
- Активируйте плагин на панели плагинов WordPress.
Использование FTP
- Извлечь
image-gallery-metabox.zipна свой компьютер - Загрузите
image-gallery-metaboxкаталог в свойwp-content/pluginsкаталог - Активируйте плагин на панели плагинов WordPress.
Скриншоты
Список изменений
1.1.0
- Включите выбор видеофайла в мета-окне.
- Исправлена ошибка быстрого редактирования, из-за которой все выбранные медиаданные удалялись из метабокса при сохранении.
1.0.1
- Обновлен CSS администратора для лучшей интеграции с редактором Gutenberg.
1.0.0
- Начальная версия.






