>我面临一个客户请求,他有 100 个带分页的产品(每页 10 个),他只想在前 10 个产品上随机,而对于其余页面没有随机(对于除 1 以外的其他分页)
我有这个疑问:
$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 个产品,而不选择其他产品。
感谢您的帮助。
尝试以下操作
if(get_query_var( 'paged', 1 )==1)
{
shuffle($products->posts);
}
$products = new Wp_Query($argss);
后
试试这个。
如果页面为 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);