我有700件艺术品(自定义帖子类型),我想在页面中打破它们, 但每次都必须在随机的地方。
问题是当我使用
时'paged'=>$paged, 'posts_per_page' => 60, 'orderby'=>rand
每个页面重新定位帖子,你可以在ex上找到相同的帖子。第2页和第7页。
有没有办法首先随机发布帖子然后将它们分成页面? 或者每个会话或每个ip随机发布帖子?
答案 0 :(得分:0)
我的假设是'orderby' => rand
只是一次选择一个随机帖子,所以每次有选项显示带有选项rand
的帖子时,它只需从您的数据库中选择一个随机,独立于页面的其余部分和帖子。
可能解决您的问题的方法是采取完全不同的方法。
每次访问您的主页时,您都可以调用一个PHP脚本,该脚本会随机生成一个唯一编号列表,每个帖子一次(在您的情况下为0-700)。您可以使用所述随机数修改数据库(通过向posts行添加额外的列,或修改/附加现有的列)。您可以将其设置为按新/修改列排序,从而确保帖子随机化为您网页的每个访问者,但它永远不会显示相同的帖子两次。但是......你需要测试它,我从来没有在代码本身修改'orderby'变量,因为我从来没有需要。
您也可以尝试做与上面类似的操作,但改为后端中的orderby选项(而不是代码),假设您的主题为您提供选项(我想象它会)。
我希望能解决你的问题。