下面的查询在我的网站上运行一个特色轮播。我希望旋转木马只显示包含图像的帖子。我到处搜索,找不到解决方案。请帮忙!
query_posts(array('post_type' => 'ad_listing', 'post_status' => 'publish', 'orderby' => 'rand'));
答案 0 :(得分:1)
我在开发自己的主题时遇到了同样的事情。 这就是我解决它的方式。
首先在functions.php中添加特色图像功能。
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
}
这允许您为每个帖子选择特色图像。
使用特色图像功能,您可以使用以下功能检测帖子是否具有特色图像...以循环形式:
$args = array(
'post_type' => 'ad_listing'
);
query_posts($args);
if ( have_posts() ) :
while ( have_posts() ) : the_post();
if ( has_post_thumbnail() ) { //For featured images
//For post images/attachments
ob_start();
the_id();
$postID = ob_get_clean();
$args = array(
'numberposts' => 1,
'order'=> 'ASC',
'post_mime_type' => 'image',
'post_parent' => $postID,
'post_status' => null,
'post_type' => 'attachment'
);
$images =& get_children($args);
if ( empty($images) ) {
//What to do without images
}
else {
//What to do with images
}
}
endwhile;
else :
//What happens when no posts are found
endif;
希望这有帮助。
答案 1 :(得分:0)
您将无法使用query_posts执行此操作。你必须在循环中完成它。
查看get_children()
,尤其是Show the first image associated with the post的示例。