-2

我有一个创建帖子的功能。在保存新帖子之前,有一个用于在保存之前操作数据的钩子:

function save(){
  $data = apply_filters('data_before_save',array(....));
  $post_id = wp_insert_post( $data );
  return $post_id;
}

现在我正在向 $data 添加东西:

add_filter('data_before_save','conditional_save',10,1 );
function conditional_save( $data ){
  //...some stuffs
  if( $data['x']== $blabla ){
     wp_safe_redirect( $link);
     exit();
  }else{
    $data['x'] = $x;
  }
  return $data;
}

function savefunction conditional_save前线退出save_post吗?如果条件满足,我不想返回任何数据。我尝试了我的代码,它似乎有效 - 重定向并且没有创建新帖子。但我想确保function save真的停止运行。

4

1 回答 1

0

exit()将突然停止代码的所有执行。它通常不是一个好主意。

请改用FLAGS

编辑 :

FLAG不是保留关键字。只需var在条件保存时将 a 设置为 true/false,检查save(). 取决于结果,var您可以限制做什么和不做什么。

于 2013-07-05T05:49:20.113 回答