It’s triggered in wp_publish_post()
that calls:
wp_transition_post_status( 'publish', $old_status, $post );
that fires up action calls, dynamically with:
do_action( "{$new_status}_{$post->post_type}", $post->ID, $post );
where "{$new_status}_{$post->post_type}"
becomes "publish_post"
in your case.
Related Posts:
- Alternative to new_to_publish Hook for Custom Statuses
- Fire a hook programmatically
- Where can I find a list of WordPress hooks?
- Is there a save_post hook for custom post types?
- Where is the right place to register/enqueue scripts & styles
- Difference between do_action and add_action
- 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`?
- Are hooks called synchronously?
- Send data to 3rd party api with wp_remote_post on wp_login
- How to customize the WP admin default help contents
- Hide gutenberg option blocks
- Disable block from editor based on post type
- Difference between hooks Plugin_loaded and admin_int?
- admin_post hook not called
- deactivated_plugin hook: get the name of the plugin
- Is there a hook for user activation (after they click the email confirm)?
- How to inject content after
- Setcookie works on admin but not front end
- How to debug removal of rewrite rule flushing?
- Bulk action hook for admin pages which uses WP_List_Table
- Security around save_post hook
- What hook should be used to programmatically create a post only when master post is updated?
- 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?
- Hooks for Links Box [duplicate]
- I don’t understand why I shoud use lostpassword_url hook?
- How to get session token of current user in wp_login hook?
- Hook any php file into the wordpress api
- Proper indentation of code generated inside hooks
- WP CLI Get all Enqueued Scripts and Styles
- Delay an action until current action is completed
- How to properly setup an activation hook
- How to remove scripts/style added to customize_controls_enqueue_scripts hook by current active theme
- Help to change the text for new website notification (wpmu_welcome_notification)
- Add parameter (time) to oembed
- How to remove query string from current page URL?
- How to catch and modify custom field values when a page is updated
- Genesis: How to add content after aside and before the content-sidebar wrap
- Plugins rewrite rules the right way
- Strange behaviour with add_{$meta_type}_metadata | add_post_metadata filter
- Plugin init hook
- Best action hook for placing ical requests
- Post Meta Emtpy on Publish Using Transition
- Add nofollow to custom widget posts
- Change Password Confirmed Email Text
- How to check post type when using sanitize_title hook?
- Duplicate Cron Jobs Using wp_next_scheduled / wp_schedule_event
- Register form: add custom field BEFORE default fields
- Custom Front End Registration – How Does the Key work in the Password Set Request?
- How to change the default mail when admin approuved an user?
- Lock user information once fields have been filled in
- read more, even if excerpt not trimmed
- save_post hook to add terms getting deleted when using bulk edit
- Add Different Actions To Different Page’s wp_footer
- Change the Default Plugin page filter to Active intead of All
- Getting the post ID in parse_query
- Issues with if, else, and elseif statements
- Remove genesis_404 hook from genesis_loop [closed]
- What hooks do I need to hook into to capture ever wp_user creation/change?
- Is there a before_save_post hook or something similar
- Neccessary to call add_submenu_page and add_menu_page from admin_menu hook?
- Adding custom Bulk Actions
- How can I modify the header of RSS feed items?
- remove_action(‘save_post’) in function that was triggered by save post not working
- How to get template name or category before publish
- WordPress How to reorder Page/Post Settings
- How to call do_action() to pass arguments to hooked functions that take different number of args?
- WP hook to add custom content after the_title()
- 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?
- wp_get_current_user Not working
- is_page not triggering
- admin_post_(action) hook create console log error
- Check if front page within function passed to action
- Hook after creating a post and retrieve infos from this post immediatly
- $new_pass always returns null – password_reset hook
- 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
- Cannot override hooks.php
- 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
- The acction hook stop working if i move it from plugin file to theme’s functions.php file
- 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
- Removing script tags that are loaded by other script tag
- Does wp_login hook fire on user registration?
- wp_trash_post not firing as expected (also applies to trashed_post)
- Changing login url