アクションフックsave_postは投稿削除時も作動してしまう

wordpressのsave_postは、新規投稿時や更新時に使える便利なアクションフックです。 しかしゴミ箱に移動した時も作動してしまうことには注意が必要です。

もし削除時に関数を動かしたくない場合は、post_statusが”trash”かどうか、または$_POSTの有無で判定すれば良い。

 add_filter('save_post','savePost');

//post_statusで判定
 function savePost($postarr){
    if(!($postarr->post_status == "trash")) {
       //処理内容
    }
 }

//$_POSTの有無で判定
 function savePost($postarr){
    if(!empty($_POST)) {
       //処理内容
    }
 }