Documentation
Online documentation for Ajax Load More
Random Ordering
Out of the box Ajax Load More can not order posts by random, however it can be achieved by running a custom WP_Query that builds an array of post IDs – the post IDs are then passed into the post__in shortcode parameter for display.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $post_ids = array(); // Query ALL posts ordered by random $args = array( 'post_type' => array('post'), // Posts 'orderby' => 'rand', // Order random 'posts_per_page' => -1, // get all posts 'ignore_sticky_posts' => true, // Do not preserve order of stickies ); $the_query = new WP_Query( $args ); while ( $the_query->have_posts() ) : $the_query->the_post(); $post_ids[] = $post->ID; // Build array of post IDs endwhile; wp_reset_query(); // Pass $post_ids array to Ajax Load More post__in parameter echo do_shortcode('[ajax_load_more post__in="'. implode(',', $post_ids) .'" orderby="post__in"]'); ?> |
Note: Ordering by random is very server intensive and some hosts disallow this orderby query parameter.