## plugins – Update existing post dates to random dates and time

Question

I found this solution but it’s now not working now (I am getting a fatal error), can anyone please update the code so its works with WordPress 6.1 (Original Post: Update existing post dates to random dates)

<?php
/**
* Plugin Name: WPSE 259750 Random Dates
* Description: On activation, change the dates of all posts to random dates
*/

//* We want to do this only once, so add hook to plugin activation
register_activation_hook( __FILE__ , 'wpse_259750_activation' );
function wpse_259750_activation() {

//* Get all the posts
$posts = get_posts( array( 'numberposts' => -1, 'post_status' => 'any' ) ); foreach($posts as $post ) { //* Generate a random date between January 1st, 2015 and now$random_date = mt_rand( strtotime( '1 January 2015' ), time() );
$date_format="Y-m-d H:i:s"; //* Format the date that WordPress likes$post_date = date( $date_format,$random_date );

//* We only want to update the post date
$update = array( 'ID' =>$post->ID,
'post_date' => $post_date, 'post_date_gmt' => null, ); //* Update the post wp_update_post($update );
}
}


I have a huge amount of posts, I think in this code trying to pull all posts at a time so if possible maybe we can add a batch system?

0
3 weeks 2022-07-21T01:17:39-05:00 0 Answers 0 views 0