我的函数需要使用wp_Reset_postdata吗?

时间:2018-10-23 作者:JoaMika

我正在使用这个功能,它似乎工作得很好,但我想知道我是否必须使用wp_reset_postdata 之后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 个回复
最合适的回答,由SO网友:Pim 整理而成

是的,您应该这样做,否则您可能会干扰同一页上发生的另一个查询。

使用$the_query->the_post(); 干扰全球经济$post 变量,以及wp_reset_postdata() 正是出于这一目的,重置全球$post 变量转换为原始(全局)查询。Read more

结束

相关推荐

对WooCommerce的Functions.php更改不起作用

我正在尝试将其添加到函数中。php。在我的另一个站点上的测试实验室中,它可以很好地添加测试信息。但在这个网站上,我试图把它添加到什么都没有发生的情况下。该网站正在使用最新的woocommerce运行一个建筑节俭主题。有什么想法吗?我基本上只是想在每个产品页面上添加一行类似于免责声明但无法添加的文本。add_action(\'woocommerce_before_add_to_cart_form\',\'print_something_below_short_description\');