Skip to content

How to Display random posts in WordPress

wprandomposts

You have to first know default argument of WordPress. If you know default argument of WordPress than any learner/beginner simply use WordPress function how they need. Because WordPress has many possibilities to show your content.

<?php $args = array(
    'numberposts'     => 5,
    'offset'          => 0,
    'category'        => ,
    'orderby'         => 'post_date',
    'order'           => 'DESC',
    'include'         => ,
    'exclude'         => ,
    'meta_key'        => ,
    'meta_value'      => ,
    'post_type'       => 'post',
    'post_mime_type'  => ,
    'post_parent'     => ,
    'post_status'     => 'publish',
    'suppress_filters' => true ); ?>

Use get_posts function and pass all the args which you have a need.

Example below

Call function

<?php wp_get_theme_post(); ?>

in your templates

Create function in function.php file

<?php

if ( ! function_exists ( 'wp_get_theme_post' ) ) :

function wp_get_theme_post(){
?>
    <?php
    $args = array('numberposts'     => 5, 'orderby' => 'rand' );

    $rand_posts = get_posts( $args );
    foreach( $rand_posts as $post ) : ?>
        <li><a href="<?php echo $post->guid; ?>"><?php echo $post->post_title; ?></a></li>
    <?php endforeach; ?>
<?php
}
endif; ?>

In the above function, have used simple args (numberpost, orderby).