It turns out that the calls to /wp-admin/post.php
are due to there being custom meta boxes on the post compose page. The initial XHR request is to the WP API to save the post, but then additional XHR calls are made to process the meta boxes. This then re-saves the post, and calls the transition_post_status
hook again.
When the API first saves the post, the status is going from draft
to publish
, and on the secondary calls, if they run, it is going from publish
to publish
– that in itself makes sense.
My specific problem was that I was calling some code that required $post
to be globalised, which was only the case in the second XHR call, leading to inconsistent behaviour when the hook which called that code was being run twice – one when $post
was globalised and one when it was not.
Related Posts:
- How to call a REST endpoint when a post is published?
- Access post meta just after publishing
- Returning ACF custom field from publish_post
- admin_notices not working in post editor
- new_to_publish fires multiple times
- Post Meta Emtpy on Publish Using Transition
- I would like to send a notification email (Asana) whenever something is published (posts, pages, custom post types) [duplicate]
- add_action hook for publish_post not working
- run script on publish
- Where is publish_post hook fired?
- Can we change the hook firing sequence?
- calculate values from a field and insert them into custom fields when publishing or updating post
- WP-Automatic to run publish hooks
- Access post meta just after publishing
- disable publish button until condition is not met
- How to hook into publish_posttype?
- Where can I find a list of WordPress hooks?
- Whats worth using add_action when we can simply use add_filter?
- add_action(‘wp_ajax_[action name]’, myfunction) problem
- Hook on trash post
- Adding onload to body
- What is the earliest possible hook for safely using `is_front_page`?
- Send data to 3rd party api with wp_remote_post on wp_login
- How can I log a user out of WordPress before the page loads?
- How to customize the WP admin default help contents
- Admin Post Update Redirection to Posts Screen
- deactivated_plugin hook: get the name of the plugin
- Is there a hook for user activation (after they click the email confirm)?
- Setcookie works on admin but not front end
- Use latest jQuery in WordPress (admin interface)
- How to hook into user registration process Before user registers
- WP Admin Bar frontend issue with dashicon deregister
- A good way to add a different background image for each page?
- add_action for lost_password or modify wp-login.php?action=lostpassword
- Add my own function to existing WooCommerce hook
- @wordpress/hooks use to add actions/filters within multiple plugin
- Firing a function AFTER redirect
- How can I customize the upload error message in WordPress?
- WordPress hook that gets featured image from direct URL?
- Why is save_post hook being called twice despite all my efforts?
- What’s hook to use immediately after a user is authentcated [duplicate]
- Hook before posting via JSON REST API
- add_action for unknown custom post types
- How to prevent double execution of do_action statements
- When is the {$new_status}_{$post->post_type} transition hook fired?
- TinyMCE as comment editor – encoding issues
- Hook to change Logout url
- How to exclude a list of specific category in category widget in new post admin screen?
- Method to find a hook
- Understanding WP
- Get post or page id early
- Looking for a hook for post.php
- Executing Arbitrary Code at a Specific URL without Creating a Post or Page?
- Update a costume wp_usermeta key back to 0 every 24hours (time can be specified as needed)
- Trigger a custom function when option are saved in admin area
- customize_controls_enqueue_scripts doesn’t fire from within my plugin
- Save User Meta Email Address in Lowercase
- When are wp redirect methods safe to hook?
- Problems with WP_List_Table and hooks
- WooCommerce single product page quantity description [closed]
- Execute JavaScript in WordPress Hook
- How to cancel the trash action inside wp_trash_post
- wp_insert_post_data hook should be called before updating db but isn’t
- How to display message (with switch_theme hook) after deactivating My theme?
- load-* hook for dashboard
- What conditions must be met in order to upload .zip file to a multisite WordPress installation?
- How to hook code in ?
- wp_enqueue_script before wp_head
- Is it possible to add the_content filter upon login?
- Why can’t a custom postype be registered with “admin_init” hook?
- Use an array of page template slugs and $hook
- wp_logout hook never triggered
- add short description under price
- How do I use pre_option_{option_name} correctly?
- Getting the post ID in parse_query
- Remove genesis_404 hook from genesis_loop [closed]
- What hooks do I need to hook into to capture ever wp_user creation/change?
- Adding custom Bulk Actions
- Publish page by invoking submit via jQuery
- How to call do_action() to pass arguments to hooked functions that take different number of args?
- Is it likely that do_action will have unexpected results?
- How to export category name and category link in wordpress json
- Error later wordpress 5.3.2 update. Please help
- How to abort a save operation with a WordPress hook?
- is_page not triggering
- admin_post_(action) hook create console log error
- Check if front page within function passed to action
- Add a jQuery snippet for sepcific user role
- How to resolve 500 error in post listing page?
- Object oriented programming, add_action in constructor not firing
- Get new (not old) post inside transition_post_status hook
- How to Show Different Information to your authors/contributers
- Removing action from template class
- Remove “enqueued” script from array
- Function is Missing an Action Hook
- How to access variables in the function where apply_filters() is called?
- PHP Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered
- getSaveContent.extraProps hook for core/post-title doesn’t add new attributes on to the frontend
- Callback API for getting response from fygaro payment gateway
- Changing login url