背景:
我正在尝试以幻灯片形式显示图像,我想从网站媒体中随机选择这些图片。图像有一个自定义字段,以便选择作为幻灯片。
我能够解决所有这些问题,并使用wp\\u查询找到所有带有自定义字段的图像,该字段表示可以在幻灯片中使用。
问题:
现在我的问题是,我应该如何循环查询以获得我想要的帖子号?
代码:
$args = array(
\'post_type\' => \'attachment\',
\'meta_key\' => \'on_front_page\',
\'meta_value\' => \'1\'
);
$wp_query = new WP_Query($args);
$total_images = (int) $wp_query->found_posts;
if ($total_image >= 6) {
for ($i = 0; $i < 6; $i++) {
rand(0, $total_images);
}
}
elseif ($total_image >= 6) {
for ($i = 0; $i < $total_image; $i++) {
rand(0, $total_images);
}
}
最合适的回答,由SO网友:Howdy_McGee 整理而成
我认为不用PHPrand
您最好限制(如果需要)使用posts_per_page
然后使用orderby => \'rand\'
.
Full List of Ordering Parameters
因此,如果我要编辑您的查询,它将如下所示:
$args = array(
\'post_type\' => \'attachment\',
\'meta_key\' => \'on_front_page\',
\'meta_value\' => \'1\'
\'orderby\' => \'rand\'
\'posts_per_page\' => 6
);
$slides = new WP_Query($args);
$total_images = (int) $slides->found_posts;
if( $slides->have_posts() ) {
while( $slides->have_posts() ) {
echo $post->ID; // The Attachment ID
}
}