2013-08-13 2 views
0

Я хочу отобразить на боковой панели последние заголовки и миниатюры сообщений. До сих пор я получаю заголовок сообщений и дублируется только один эскиз. Вы можете увидеть результат here (только первый/самый старый пост изображение, отображающее)Отображение сообщений thumbnails в Wordpress показать только первое thumbnail

Вот мой код:.

$rps = wp_get_recent_posts($params); 
foreach($rps as $rp) : 
    $args = array(
      'post_type' => 'attachment', 
      'numberposts' => 1, 
      'post_status' => null, 
      'post_parent' => $post->ID 
      ); 

    $attachment = current(get_posts($args)); 
?> 
<a href="<?php echo get_permalink($rp['ID']);?>"><?php echo $rp['post_title'];?><?php echo wp_get_attachment_image($attachment->ID, 'thumbnail');?></a> 
<?php endforeach; ?> 

Спасибо за любые советы,/оказанной.

ответ

3

Заменить 'post_parent' => $post->ID с 'post_parent' => $rp['ID']. Вот и все. Что вы делаете, вы передаете идентификатор текущей записи в $ args для всех сообщений.

+0

Не заметил этого, спасибо. –

+0

:) Это случается. Добро пожаловать! –

-1

запустить 2 queries

один выводит первый пост. Вторые выходы все остальное за исключением первого

<?php $args = array('post_type' => 'attachment', 'posts_per_page' => 1, 'post_parent' => $post->ID); 
$first = new WP_Query($args); 
while ($first->have_posts()) : $first->the_post(); ?> 
<a href="<?php echo get_permalink();?>"><?php the_title();?><?php echo wp_get_attachment_image($first->ID, 'thumbnail');?></a> 
<?php endwhile; wp_reset_postdata(); ?> 
<?php $args2 = array('post_type' => 'attachment', 'posts_per_page' => 1, 'post_parent' => $post->ID, 'offset' => 1); 
$rest = new WP_Query($args2); 
while ($rest->have_posts()) : $rest->the_post(); ?> 
<a href="<?php echo get_permalink();?>"><?php the_title();?><?php echo wp_get_attachment_image($rest->ID, 'thumbnail');?></a> 
<?php endwhile; wp_reset_postdata(); ?> 
Смежные вопросы