您可以尝试通过以下方式获取没有特色图像的帖子:
$ppp = 5; // posts per page
/**
* Fetch $ppp posts, without thumbnails, in a given category:
*/
$args = array(
\'cat\' => 1,
\'posts_per_page\' => $ppp,
\'meta_query\' => array(
array(
\'key\' => \'_thumbnail_id\',
\'compare\' => \'NOT EXISTS\',
),
),
);
$myposts = get_posts( $args );
但如果没有足够的帖子,没有特色图片,那该怎么办?那么,我们就可以在其余的帖子中添加特色图片:
/**
* Fetch $ppp-x posts in a given category, with thumbnails, if x > 0:
*/
if( $count = count( $posts ) < $ppp )
{
$args = array(
\'cat\' => 1,
\'posts_per_page\' => $ppp - $count,
\'meta_query\' => array(
array(
\'key\' => \'_thumbnail_id\',
\'compare\' => \'EXISTS\',
),
),
);
$myposts = array_merge( $posts, get_posts( $args ) );
}
然后,您可以使用以下设置循环:
global $post;
foreach( $myposts as $post )
{
setup_postdata( $post );
?><li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li><?php
}
wp_reset_postdata();
您可能还想检查在相应类别中是否有足够的帖子。
请注意,这是未经测试的,但我希望您可以根据需要修改它。
附言:如果我没记错的话,@kaiser已经解决了一般情况下类似的问题,添加了一些额外的味道;-)
我会添加一个链接,如果我找到它。
Update: 找到了here, 我想。那边有一些有趣的答案。