Cron Job for removing expired MEC events

register_activation_hook(__FILE__, 'wojciech_borowicz_mec_cron_job_schedule');

function wojciech_borowicz_mec_cron_job_schedule() {
if (! wp_next_scheduled ( 'wojciech_borowicz_remove_expired_events_cron_job' )) {
wp_schedule_event(time(), 'daily', 'wojciech_borowicz_remove_expired_events_cron_job');
}
}

add_action('wojciech_borowicz_remove_expired_events_cron_job', 'wojciech_borowicz_remove_expired_events');

function wojciech_borowicz_remove_expired_events() {
$args = array(
'post_type' => 'mec-events',
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page'=> '-1',
);
$loop = new WP_Query( $args );
if( $loop->have_posts() ):
$today = date('Y-m-d');
while( $loop->have_posts() ): $loop->the_post(); global $post;

$endDate = get_post_meta($post->ID, "mec_end_date", true);
if($today>$endDate && $endDate!=""){
//wp_delete_post($post->ID);
$post = array( 'ID' => $post->ID, 'post_status' => "draft" );
wp_update_post($post);
}

endwhile;
endif;
}

Author: Wojciech Borowicz

I hope this post will help you to do what you need.
In case you want some assistance click here to get in touch 

check out other blog posts