Do I need to use wp_reset_postdata for my function?

admin2025-06-07  49

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;
}

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;
}
Share Improve this question asked Oct 23, 2018 at 10:38 JoaMikaJoaMika 6986 gold badges27 silver badges58 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 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

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749238941a317524.html

最新回复(0)