如何到达wp_Query中的特定位置?

时间:2015-01-26 作者:benj rei

背景:

我正在尝试以幻灯片形式显示图像,我想从网站媒体中随机选择这些图片。图像有一个自定义字段,以便选择作为幻灯片。

我能够解决所有这些问题,并使用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);
   }
 }

1 个回复
最合适的回答,由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
    }
}

结束

相关推荐

自定义发布类型‘Pre_[CPT]_Query’挂钩

查询wordpress用户表时,是否可以使用\'pre_user_query\' 在对数据库执行之前对SQL查询进行ammend。对于每个注册的自定义帖子类型,是否有等效的钩子方法?我正在使用posts 2 posts 链接两组自定义帖子类型。我想在每个帖子的基本查询中包含p2p链接数量的详细信息,以便我可以根据链接数量进行页面设置。