2个自定义wp_query使用与'orderby'=>'rand'相同的rand?

时间:2019-07-19 14:04:37

标签: php wordpress custom-post-type

在我的主页上显示9个帖子,我有一个“加载更多”按钮(带有ajax),它会调用其他9个帖子,依此类推。目前,我正在按“日期”订购,但我想随机订购。问题是我的第一个wp_query orderby rand显示9个随机帖子,当我加载更多帖子时,我的第二个wp_query orderby随机也可以显示前9个帖子中的同一帖子。

如何将2个wp_query随机化为相同的随机数?还是有其他方法可以做到这一点?


正如社区成员已经建议的那样,我试图将可见的ID存储在数组中,并像这样使用post__not_in

$query = new WP_QUERY(array(
        'post_type' => 'post',
        'posts_per_page' => 9,
        'orderby' => 'rand',
        'post__not_in' => $postNoIn,
        'paged' => $paged

    ));

但这不能解决我的问题。

$paged变量是我的帖子的当前页码。我有32个帖子,现在我要9乘9,所以共有4页。当我使用上面的第二个wp_query显示时,我得到9条随机帖子减去可能的9条第一帖子,因此我可以拥有少于9条帖子,并且在到达最后一页时查询停止。我将有大约28个帖子,而不是32个,导致查询在第4页停止,直到显示所有帖子为止。

预先感谢您的回答!

1 个答案:

答案 0 :(得分:1)

只需将已经可见的ID存储在数组中的某个位置,当请求更多负载时,发送该数组,然后将其包含到$args

$args = array (
...
'post__not_in' => array( 1, 2, 3),
...
);