我面临一个客户请求,他有100个分页产品(每页10个),他只想在前10个产品上随机,其余页面没有随机(对于除1以外的其他分页)< / p>
我有这个问题:
$args = array(
'post_type' => array('products'),
'paged'=> ( get_query_var('paged') ? get_query_var('paged') : 1 ),
);
$products = new Wp_Query($argss);
... Loop here ...
... End loop ...
... Pagination ...
产品展示良好,分页工作,只有我问自己如何实现这一目标。如果我使用:
if( $paged == 1 ) $args['orderby'] = 'rand';
它会随机出现在第一页上,但他会选择除前10个产品之外的其他产品,目标是只在主页搜索页面上随机前10个产品,而不会选择其他产品。
感谢您的帮助。
答案 0 :(得分:1)
尝试以下
if(get_query_var( 'paged', 1 )==1)
{
shuffle($products->posts);
}
在$products = new Wp_Query($argss);
之后
答案 1 :(得分:0)
试试这个。
如果页面为1,则设置'order' => 'rand'
$args = array(
'post_type' => array('products'),
'paged'=> ( get_query_var('paged') ? get_query_var('paged') : 1 ),
'order_by' => 'ID',
'post_status'=> 'publish',
'posts_per_page' => -1,
);
if($args['paged'] == 1){
$args['order'] = 'rand';
} else{
$args['order'] = 'DESC';
}
$products = new Wp_Query($args);