跳过循环中没有缩略图的帖子

时间:2013-05-24 作者:Nepo Znat

我想跳过所有没有缩略图的帖子。代码尚未正常工作。

实际上,脚本不会显示没有缩略图的帖子-这很好,但在循环中,没有缩略图的帖子仍然被视为帖子。

例如,当我的数据库中有10篇帖子时。我想展示其中的5个。但只有带有缩略图的帖子。

<ul>

    <?php

    $args = array(  \'numberposts\'  => 5,  
                    \'orderby\'      => \'date\',  
                    \'order\'        => \'DESC\',
                    \'post_type\'    => \'post\',
                    \'post_status\'  => \'publish\' 
                );

    $my_posts = get_posts( $args );
    global $post;
    foreach( $my_posts as $post ) : setup_postdata($post); 

    if ( !has_post_thumbnail() ) { 
        continue;             
    } else {

    ?>

        <li>
            <div class="clearfix" >
                <div class="thumb"><?php the_post_thumbnail(\'post-image-big\'); ?></div>
                <a href="<?php the_permalink(); ?>" class="title"><?php the_title(); ?></a>
                <p class="category"><?php the_category(\', \'); ?></p>
            </div>
        </li>

    <?php } ?>

    <?php endforeach; ?>

</ul>

1 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试添加

                \'meta_key\'     => \'_thumbnail_id\',
输入参数:

$args = array(  \'numberposts\'  => 5,  
                \'orderby\'      => \'date\',  
                \'order\'        => \'DESC\',
                \'post_type\'    => \'post\',
                \'post_status\'  => \'publish\',
                \'meta_key\'     => \'_thumbnail_id\',
            );
仅查询带有缩略图的帖子(即特色图片)。

ps: 代替此结构:

if ( !has_post_thumbnail() ) { 
        continue;             
} else {

}
您可以在一般情况下使用

if ( has_post_thumbnail() ) { 

}
但您现在可以跳过if-句子是循环中的一部分,因为您现在只获取带有特色图片的帖子。

结束

相关推荐