Я пытаюсь сделать простую галерею в WordPress (я пробовал некоторые плагины, но ни один из них не убеждает меня). Дело в том, что решение, которое я считаю более полезным, состоит в том, чтобы зацикливаться на изображениях, которые я уже загрузил в медиатеку, и отображать их (в виде галереи сетки).
Проблема в том, что я не могу найти информацию о том, как зацикливаться на изображениях библиотеки мультимедиа и отображать их в виде миниатюр, какие-либо предложения?
Что-то вроде этого?
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'orderby' => 'post_date',
'order' => 'desc',
'posts_per_page' => '30',
'post_status' => 'inherit'
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$image = wp_get_attachment_image_src( get_the_ID() );
echo "<img src='" . $image[0] . "'>";
endwhile;
Вы можете попробовать это:
<section class="row align-middle">
<?php
$query_images_args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image,video',// video files include
'post_status' => 'inherit',
'orderby' => 'post_date',
'posts_per_page' => 30,
);
$query_images = new WP_Query( $query_images_args );
if($query_images->have_posts()) :
while($query_images->have_posts()) :
$query_images->the_post(); ?>
<div class="small-6 medium-4 large-2 columns">
<?php echo $images = wp_get_attachment_image( $query_images->posts->ID, 'thumbnail' ); ?>
</div>
<?php endwhile; ?>
<?php else : ?>
<p>No media file yet</p>
<?php endif;
/* Restore original Post Data */
wp_reset_postdata(); ?>
</section>
Помните восстановить исходные почтовые данные чтобы избежать проблем с другими запросами на той же странице.