首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在应用批量编辑选项时触发操作?有没有什么特别的钩子?

如何在应用批量编辑选项时触发操作?有没有什么特别的钩子?
EN

Stack Overflow用户
提问于 2019-02-14 05:31:52
回答 1查看 231关注 0票数 0

在创建、编辑或删除新产品时,我可以删除一些瞬态文件,但如果它是管理面板上的批量操作,如批量编辑或移动到垃圾桶,则无法完成。

我使用了动作钩子'transition_post_status‘,每当有从旧状态到新状态的改变,或者如果是更新场景,那么我的临时删除代码就会被执行。但这不适用于批量编辑或批量移动到垃圾桶。

代码语言:javascript
运行
复制
function ga_delete_transients( $new_status, $old_status, $post ) {//deletes transients if exists upon create,trash and update

 global $post,$wpdb;

 if ( $post->post_type !== 'product' ) return;
 if($old_status!==$new_status|| $old_status == 'publish' && $new_status =='publish'){
  $sql = "SELECT *  FROM labtag_wp.wp_labtag_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')";
  $ga_transient_result = $wpdb->get_results($sql);
   if(!empty($ga_transient_result)){

    $wpdb->query( "DELETE   FROM labtag_wp.wp_labtag_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')" );
    }
 }


 }

 add_action( 'transition_post_status', 'ga_delete_transients', 10, 3 );

在创建、更新或移动到新产品的垃圾桶时,我删除了所有的瞬态,但在批量操作时,什么也没有发生。

EN

回答 1

Stack Overflow用户

发布于 2019-02-14 07:38:50

这个基于Wordpress custom post action hook的解决方案可以工作,但在批量删除帖子的情况下效果不佳,因为在我的代码中,任何批量删除都会使$post为空。

代码语言:javascript
运行
复制
function ga_delete_transients($post) {

  global $wpdb,$post;


 if(isset($post)&&$post->post_type=='product' || !isset($post)  ) {//doesn't work in case of bulk delete of posts



  $sql = "SELECT *  FROM labtag_wp.wp_labtag_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')";
  $ga_transient_result = $wpdb->get_results($sql);
  if(!empty($ga_transient_result)){

      $wpdb->query( "DELETE   FROM labtag_wp.wp_labtag_options WHERE `option_name` LIKE ('%\_transient\_ga_loop_products_%')" );
  }

 }
 else{
   return;
 }

}

$all_actions = array('save_post','wp_delete_post','wp_trash_post');

foreach ($all_actions as $current_action) {

  add_action($current_action, 'ga_delete_transients',1);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54679771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档