Jump to content

Randomizing posts in word press - by a random seed + a day variable


maberg
 Share

Go to solution Solved by Barand,

Recommended Posts

The following code is working to force wordpress to show posts in a random order.

However, it shows them in the same random order until you end the session or close the browser.   I want to add a variable so that the seed is updated every day, even if the user has not closed their browser. This way it will change from day to day. 

My thought was to create a variable for the day number (1-31) and add that number to the seed value.  But I don't know how to program. Can anyone help me change the following to achieve this? thank you for saving me days of tinkering.

 session_start();

add_filter('posts_orderby', 'edit_posts_orderby');

function edit_posts_orderby($orderby_statement) {

    $seed = $_SESSION['seed'];
    if (empty($seed)) {
      $seed = rand();
      $_SESSION['seed'] = $seed;
    }

    $orderby_statement = 'RAND('.$seed.')';
    return $orderby_statement;
}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.