0

我有这段代码来显示所有类别的帖子和它们的缩略图。


<?php $recent = new WP_Query(); ?>
<?php $recent->query('cat=1&showposts=5'); ?>
<?php while($recent->have_posts()) : $recent->the_post(); ?>
<ul>
    <li>
            <a href="<?php the_permalink(); ?>">
            <?php the_title(); ?>
            </a>
       </li>
</ul>
<?php endwhile; ?>

但现在我只想显示类别第一篇文章的缩略图。显然,前类别有 4 个帖子,我显示 4 个帖子,但只有第一个帖子有缩略图,3 个帖子只有标题和永久链接

4

3 回答 3

1

快速修复可能是添加一个计数变量..

<?php i = 1; ?>
<?php while($recent->have_posts()) : $recent->the_post(); ?>

<ul>
    <li>
<?php if(i==1){ 
  // code to display thumbnail
 } ?>

            <a href="<?php the_permalink(); ?>">
            <?php the_title(); ?>
            </a>
       </li>
</ul>
<?php i++; ?>
<?php endwhile; ?>
于 2012-10-23T14:22:13.797 回答
1

将 the_post_thumbnail 添加到您的输出中,并包含一个 $postNumber 以跟踪您所在的帖子编号。然后,使用 if 语句,您可以包含 the_post_thumbnail 调用。如果您想将它包含在前 2 个中,请将 if 更改为 $postNumber <= 2

<?php $recent = new WP_Query(); 
<?php $recent->query('cat=1&showposts=5'); ?>
<?php $postNumber = 1; ?>
<?php while($recent->have_posts()) : $recent->the_post(); ?>
<ul>
    <li>
            <a href="<?php the_permalink(); ?>">
            <?php 
                if($postNumber<=1){
                    the_post_thumbnail();
                }
                $postNumber++;
             ?> 
            <?php the_title(); ?>
            </a>
       </li>
</ul>
<?php endwhile; ?>
于 2012-10-23T14:26:25.447 回答
0
<?php $recent = new WP_Query(); ?>
<?php $recent->query( 'cat=1&showposts=5' ); ?>
<?php $is_first_post = true; ?>

<?php while( $recent->have_posts() ) : $recent->the_post(); ?>
    <ul>
        <li>
                <a href="<?php the_permalink(); ?>">
                <?php the_title(); ?>
                </a>

                <?php 
                if ( $is_first_post  && has_post_thumbnail() ) {
                    the_post_thumbnail(); 
                    $is_first_post = false; 
                }
                ?>


           </li>
    </ul>
<?php endwhile; ?>
于 2012-10-23T14:25:38.720 回答