WP_QUERY如何将缩略图添加到最后5个帖子中的第一个帖子?

时间:2018-09-03 作者:Osman T

我有这样一个问题:

<ul>
<?php $the_query = new WP_Query( array( \'cat\' => \'1\', \'posts_per_page\' => 5 ) ); ?>

<?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>

<li>

<?php if ( has_post_thumbnail()) :  ?>
<?php the_post_thumbnail(array(230,163)); ?>
<?php endif; ?>

<a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>

<?php 
endwhile;
wp_reset_postdata();
?>
</ul>

Example: https://prnt.sc/kq4nha

如何显示上次添加的帖子的缩略图?

2 个回复
最合适的回答,由SO网友:Eduardo Escobar 整理而成

因为您没有指定orderorderby 您的WP_Query 查询时,最新添加的帖子将显示在第一位。

记住这一点,您可以执行以下操作:

<ul>
    <?php $the_query = new WP_Query( array( \'cat\' => \'1\', \'posts_per_page\' => 5 ) ); ?>
    <?php $iterator = 0; ?>
    <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
    <li>
        <?php if ( has_post_thumbnail() && $iterator == 0 ) :  ?>
            <?php the_post_thumbnail(array(230,163)); ?>
            <?php $done_last_post_thumbnail = true; ?>
        <?php endif; ?>

        <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
        <?php $iterator++; ?>
    </li>
    <?php
        endwhile;
        wp_reset_postdata();
    ?>
</ul>
当然,只有在最新帖子有缩略图的情况下,这才有效。

SO网友:Nicolai Grossherr

您可以使用current_post 的属性WP_Query, 它从0开始。示例性用法:

if ( $custom_query->current_post == 0 && has_post_thumbnail() ) {
  //code
}

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post