Action hook 'save_post' срабатывает при удалении сообщений

Я разработал настраиваемый плагин, который переписывает некоторое содержимое моих сообщений, но когда я перемещаю сообщение в корзину, активируется «save_post», и сообщение не удаляется.

Упрощенная версия моего кода:

add_action('save_post', 'rewrite_post', 10, 2); function rewrite_post($post_id) { remove_action('save_post', 'rewrite_post'); $title = preg_replace('/\_/', ' ', get_the_title($post_id)); $my_post = array(); $my_post['ID'] = $post_id; $my_post['post_title'] = $title; $my_post['post_status'] = 'publish'; wp_update_post($my_post); add_action('save_post', 'rewrite_post'); } 

Как я могу предотвратить запуск этого крючка при удалении сообщений?

Solutions Collecting From Web of "Action hook 'save_post' срабатывает при удалении сообщений"

Вероятно, проще всего просто проверить статус сообщения в вашей функции.

Непроверенные:

 add_action( 'save_post', 'rewrite_post', 10, 2 ); function rewrite_post( $post_id ) { if ( 'trash' != get_post_status( $post_id ) ) { remove_action( 'save_post', 'rewrite_post' ); $title = preg_replace( '/\_/', ' ', get_the_title( $post_id ) ); $my_post = array( ); $my_post['ID'] = $post_id; $my_post['post_title'] = $title; $my_post['post_status'] = 'publish'; wp_update_post( $my_post ); add_action( 'save_post', 'rewrite_post' ); } }