I found my solution.
The function you hook into delete_post (or probably any other similar hook) executes as many times as needed. Considering delete_post needs to delete the post and all of its revisions, it will always run more than once. In order to avoid having your function execute each time WordPress deletes a record from the database you can use did_action( $hook ). This function returns the number of times the hook executed. With this in consideration, we can fix our multiple-executions problem by placing this condition into our function:
if (did_action('delete_post') === 1)
{
// execute code here
}
Related Posts:
- Cron jobs in a class
- remove_action or remove_filter with external classes?
- add_action reference a class
- Why does save_post action fire when creating a new post?
- How can I edit post data before it is saved?
- add_action(), add_filter() before or after function
- How to create an API for my plugin?
- Remove parent theme action in child
- How to know what priority to use with add_action()?
- Is there a action hook for the “Empty Trash” button?
- How to do_action and get a return value?
- Remove an action from an external Class
- Return $post_id when DOING_AUTOSAVE?
- Difference between do_action_ref_array() and do_action()
- Can my “add_action” function know the name of the hook calling it?
- Why is there both a save_post and wp_insert_post action?
- Does the event ‘wp_version_check’ even exist? What is it doing?
- When is admin_init Action ran?
- Can an action callback prevent the parent from continuing execution?
- remove_action in a theme
- add_action ‘manage_posts_custom_column’ in a class [closed]
- How do I enqueue a script to run inside the Gutenberg editor?
- How to change “Draft” string for status of custom post type to “Unavailable”?
- How can I find out what functions are assigned to actions?
- Unable to prevent function using save_post firing twice
- Difference between do_action(‘admin_enqueue_scripts’, $hook_suffix) and do_action(“admin_print_styles-$hook_suffix”) syntax
- Add something to beginning of the content
- Disable WooCommerce action
- How can I remove the WP menu from the admin bar?
- When and Where to use wp_insert_post()
- Why, Where, and When to use reference pointers in filters/hooks?
- Which to use to execute code during the saving of a plugin settings page?
- Prevent Deletion of Blogs
- add_action customize_register not working
- Is there an action/filter called when WP_Query->query is finished and assigns posts
- Passing arguments into ‘init’ function
- Add a Custom Field in Comment Box AFTER text area BUT BEFORE Send button
- How can I limit functionality in one version of a plugin?
- How to use conditional add_action for WordPress
- Using wp_insert_post and post_update_meta but need to fire save_post afterward
- WP Schedule Event – Every Day When First Visitor Comes
- enqueuing React script and hooking its target div fails to load script
- wp_logout action not working
- How to remove an action that is added inside a class
- Having an add_action( ‘user_new_form’,) [closed]
- Using auth_redirect returns cannot modify header information
- add action which returns modified value
- What would cause the ‘wp’ action to fire twice per page (but only once per post) in Firefox only?
- Problem:Save Several Duplicate posts in The Database and then Error nesting level of ‘100’ reached
- How to remove an action added by a child theme of Genesis
- I don’t understand why I need a lower priority to remove an action with a higher priority to make it work
- WordPress admin WP_table_list show incorrectly
- wp_get_attachment_metadata returns false with add_action() ‘add_attachment’ hook
- How to add a checkbox inside the “Publish post” widget?
- Manually add admin bar
- Print shortcode in custom action hook not where the shortcode is entered
- Is there a way to expose additional fields to the Bulk Action > Edit functionality?
- What’s the usage of action do_meta_boxes?
- How can I invoke an action after a CiviCRM triggering event?
- Custom bulk actions in WP 3.7.1
- Remove action from a plugin class
- do_action pass array argument as reference not copy [duplicate]
- how can I use add_action with external class which the function contain 2 argument?
- remove_action not working with procedural function
- Why Should We Use wp_clear_scheduled_hook and What it Does?
- Can a plugin add to header/footer/body content?
- Woocommerce Change placement with wrapper
- Modify query in pre_get_posts action is messing up my nav menu
- Disable email field on WooCommerce customer account details
- Exclude trash from save_post
- How to check if an action is already fired?
- add_action and wp_head not display content in head section
- how “manage_posts_custom_column” action hook relate to “manage_${post_type}_columns” filter hook?
- Scheduled event won’t fire
- Which action fire in front-end single post only
- When should I call add_settings_section and add_settings_field?
- use add_action(‘wp_head’) in a widget
- How can I add data to a custom column in the Users section of the wordpress backend?
- Unable to show error message using wp_login action
- Usage of do_action and add_adction
- How to get Custom Post ID by adding filter to child theme’s function
- array of objects to do_action, callback gets singular object?
- Preventing frontpage to be deleted/moved to trash
- What’s the best action to use when you want to do something only once per theme setup?
- WP action is not triggering a do_action() call within?
- Check Title Unique Or Not and If not error message and dont save
- How to trigger function on theme delete?
- Selectively applying action based on role
- Mustn’t do_action be accompanied with a function?
- where is the documentation for add_action() parameters?
- Get post id in wordpress action?
- How to get multiple Action Hooks in an Array
- How to set a different value in the generator meta tag?
- How would go about if I just want a temporary function?
- How to remove a custom action on child theme?
- Action hook on only publishing post not on editing or updating
- how can I use add_action run another function when publishing new post?
- Call add_action() in function wordpress
- How to remove function?
- Performance : Duplicating `add_action`