我怎样才能使这个循环输出的顺序是随机的?

时间:2016-02-08 16:00:24

标签: php wordpress

在我的Wordpress网站中,我的taxonomy-product-category.php模板有以下循环用于将帖子加载到页面中:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

但是,我希望帖子是随机排序的,而不是像添加日期那样遵循特定的顺序。

如何修改此循环来执行此操作?

2 个答案:

答案 0 :(得分:2)

您可以使用describe 'mycookbook::default' do context 'something' do let(:solo) do ChefSpec::SoloRunner.new end let(:chef_run) do solo.converge(described_recipe) do solo.resource_collection.insert( Chef::Resource::Service.new('apache2', solo.run_context)) end end it 'runs without errors' do allow_any_instance_of(Chef::Recipe).to receive(:include_recipe) chef_run end end end 为您的分类页面设置随机排序。请注意,随机排序会在分页页面之间复制帖子,因为每个页面都是新查询而不是一个扩展。不幸的是,随机排序是如何工作的。

您可以尝试以下

pre_get_posts

答案 1 :(得分:1)

变化:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

要:

<?php
$args = array(
    'cat' => YOUR CATEGORY ID,
    'post_type' => YOUR CUSTOM POST TYPE,
    'orderby' => 'rand'
);

$query = new WP_Query($args);
?>

<?php if ($query->have_posts()) : ?>
<?php while ($query->have_posts()) : $query->the_post(); ?>