save_post
becomes unwieldy under Gutenberg, in my experience. It fires at least twice, and none of the checks you have in place will distinguish between instances.
I would consider replacing it with wp_after_insert_post
, which was introduced into core for this very reason.
Related Posts:
- Is there a way to send HTML formatted emails with WordPress’ wp_mail() function?
- Is there a limit to hook priority?
- Hook after image is uploaded and image sizes generated
- How to call a REST endpoint when a post is published?
- __NAMESPACE__ with register_activation_hook
- How to check if which hook triggered the call to a function?
- Hook for URL Request
- Hook/notify when any option or setting is added or updated
- Which hooks is this? add_action(‘wp’,
- admin_notices after register_uninstall / deactivate_hook
- add_action on inherit post status
- Best possible way to get all options
- Why does wp_enqueue_script ignore my ‘wp_head’ hook?
- wordpress custom modules/widget areas on the page? can i make my own?
- action lifecycle
- Redirect users on specific post category or category page
- Returning ACF custom field from publish_post
- How to modify an add_action() inside a loop of core function
- How can I set status=’publish’ for all featured images?
- What is the best filter where to use register_block_type?
- How get list all users who edited post?
- Stuck in redirect loop after using wp_login action
- Hooks for Links Box [duplicate]
- Check if do_action(‘custom_action’) is hooked into?
- Hook after wp_enqueue_scripts
- wp_login Action hook with conditional tag
- Can I remove WooCommerce main content hook?
- How to alter the query using pre_get_posts hook and is_post_type_archive
- How to update WordPress core or themes and still have my child theme hooks work
- Proper indentation of code generated inside hooks
- Featured Image Action Hook
- Update post meta using pending_to_publish hook
- Get log of function/method calls made by do_action() on WordPress initialization
- How to find a callback attached to a bbpress hook?
- Event Calendar using insert_post_data after save_post and insert_post after post_transition draft_to_schedule
- How to extend custom (non-core) blocks?
- Hooking into the init action will fire it too frequently?
- Implement Hooks Using Array
- What hook is used to display the admin_bar on the front end?
- Is there a JavaScript equivalent of get_post_field?
- User update hook
- register_activation_hook not updating
- Redirect customer to login if not logged in when proceeding to checkout
- Adding a hook to the default (page.php) template
- Add action hook into wp_localize_script
- How to replace a function using a child theme?
- WP_query hooks before execute a search query
- Conditional for autosave or auto draft?
- Using delete_attachment to prevent an attachment not working
- How does do_action( ) works actually?
- Giving the_excerpt in the place of the_content?
- Hook to init or call explicitly within functions.php
- How to add content to the end of a page with a hook?
- Use a variable created in get_header to calculate stuff in wp_footer
- WordPress’s “Text” Format
- How to use a WooCommerce action hook?
- run script on publish
- Calling add_action on a filter hook?
- Remove Header and Footer if user is not logged on
- What is deprecated_argument_run meant to do exactly?
- How do I run an action after a featured image has been selected in the Gutenberg editor?
- How to run a function after wp() in the wp-blog-header.php file?
- WordPress cronjob get scheduled but function does not run
- How to add a HTML element in ADMIN edit post window?
- wp query add array by if condition
- Gravity Forms | Form Object is NULL [closed]
- Change status of page after an event (Looking for best practice advice)
- WordPress add_action the_post hook
- Post via wp-admin and via iOS app, same hooks and triggers involved?
- Add action save post when create and publish
- Hooking after blog info update
- Hook to add_action(‘updated_option_my_option’, [$this, ‘save_data’], 10, 3]);
- Hooks for Start/End of Batch Plugin Updates in wordpress
- How to load another post if condition is true
- template_redirect hooks redirect wrong URL
- Registered custom dynamic tag not appearing
- Struggling with plugin dev basics: add_action
- RTrouble passing arguments to action
- How to hook add_action() into after category description with id?
- delete_user hook failed
- Which things should be called with `after_setup_theme`?
- Changing header logo href for the checkout page
- Prefixing widget_posts_args Hook
- Can’t get ID of post that relates to the comment
- Updating user meta data from external link, user not logged in
- Remove lines from RSS Feed
- Is there a hook that triggers when grant secondary user role in WordPress?
- How can I insert custom html code inside a div dynamically?
- How WordPress understands what do with the (all) key in the $wp_filter array? [duplicate]
- Function Hooked on Init Running Multiple Times
- WP-Automatic to run publish hooks
- template_redirect and title
- Hide post completely and still reach it via cURL
- How do I remove an action hook by s2member
- Problem in register activation hook and Copying folder
- Why does hook priority affects admin menu permission error?
- add_action failed to display function by a plugin
- How can I get the ID before after_setup_theme?
- Hook on opening a media/document
- Why does before_delete_post run when opening a post in the backend?