uzumeti
@uzumeti

Как вывести массив с миниатюрами wordpress?

Привет!

Помогите пожалуйста найти логику :)

Задача:

1. Мне нужно получить из WP адреса миниатюр нескольких последних записей из определенной категории
2. Дальше эти адреса я поставлю в слайдер

Как пытаюсь решать:

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

Код примерно такой видится:

<?php 

$my_posts = get_posts('numberposts=2&category=171');
foreach ($my_posts as $post) :
setup_postdata($post);
$thumb_id = get_post_thumbnail_id($post_id);
$thumb_url = wp_get_attachment_image_src($thumb_id, false);
echo $thumb_url[0]; 
?>
<?php endforeach; ?>


Получаем ссылку на последнюю миниатюру. А нужны все ссылки скажем на 5 миниатюр последних постов из этой категории. Куда копать :)?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@weart
Сделайте цикл вывода постов (миниатюр) с помощью new WP_Query и всё
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Как-то так:
<?php
$args = array(
		'post_type' => 'post',
		'posts_per_page' => 5,
    'orderby' => 'modified',
);

$custom_query = new WP_Query( $args );

while ( $custom_query->have_posts() ) {
	$custom_query->the_post();
	echo '<a href="'. get_permalink() .'">' . get_the_title() .'</a>'; 
}
wp_reset_postdata();
?>
Ответ написан
А точно в категории 171 постов больше чем один?
Ответ написан
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Не уверен, что правильно понял вопрос. Так должно было получиться?
<?php
$thumbs = array();
$my_posts = get_posts( 'numberposts=2&category=171' );
foreach ( $my_posts as $post ) :
	setup_postdata( $post );
	if( has_post_thumbnail() ) {
		$thumbs[] = get_the_post_thumbnail_url( get_the_ID(), 'РАЗМЕР_МИНИАТЮРЫ' );
	}
endforeach;
wp_reset_postdata();
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы