WP_Query 'orderby' => 'rand' isn't working for a custom post type

igloobob used Ask the Experts™

can anyone please advise why this is not working? It is just showing the same post each page refresh rather than a new random one from the list.

<?php $loop = new WP_Query( array(
'post_type' => 'testimonials',
'posts_per_page' => 1,
'orderby' => 'rand' ) );

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

<div class="quote_bubble"><?php the_content(); ?></div>										

<div class="speech_bubble_credit"><?php the_field('testimonial_name'); ?><br />

<?php the_field('testimonial_job_company'); ?>, <?php the_field('testimonial_company'); ?></div>

<?php endwhile; wp_reset_query(); ?>

Open in new window

This is just displaying the first post I added to the site again and again every time page is refreshed too if that is of any use in trying to establish the problem.

Any ideas anyone please?

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Jason C. LevineDon't talk to me.

Where are you hosted? Some ISPs disable the rand function because it takes too many resources.


hosted on WP Engine
Don't talk to me.
Thought so!

WP Engine does disables rand.  Log in as administrator and go to the WP Engine tab for the site.  There should be a checkbox to re-enable it.


Aha! Thanks that's sorted it! Thought I was going mad, as I was sure this exact loop was working on the dev version of the site before migrating to WPE!


Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial