0

I am using this function which seems to work fine, however I was wondering if I must use wp_reset_postdata after endwhile?

function evecal_task_function() {
$args=array(
  'posts_per_page' => -1,
  'post_type' => 'events'
);
$now = time();
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
  while ( $the_query->have_posts() ) : $the_query->the_post();
  $fxdate = strtotime(get_field('fl_date',false,false));$datediff = $now - $fxdate;
    if ( $datediff > 1) {update_field('fl_expire', '1', get_the_ID());}  
  endwhile;
endif;
}

1 Answer 1

2

Yes you should, otherwise you could interfere with another query happening on the same page.

Using $the_query->the_post(); interferes with the global $post variable, and wp_reset_postdata() serves that exact purpose, to reset the global $post variable to the original (global) query. Read more

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.