I’m running into this same issue in some code I’m developing.
In your case though tree is a better hook as you only want to hook posts that are moving to ‘publish’
You need to hook your function into all of the possible {status}_to_publish hooks like this:
add_action('new_to_publish', 'my_function');
add_action('draft_to_publish', 'my_function');
add_action('auto-draft_to_publish', 'my_function');
add_action('pending_to_publish', 'my_function');
add_action('future_to_publish', 'my_function');
add_action('private_to_publish', 'my_function');
You found even pass the initial statues is using a foreach loop using the first part of the hook names from an array.
Related Posts:
- How to know what functions are hooked to an action/filter?
- Difference between do_action and add_action
- Difference between after_setup_theme and init action hooks?
- Trigger custom action when setting button pressed
- Please explain how these hooks work
- add_action(‘wp_ajax_[action name]’, myfunction) problem
- How to remove action hook done in a plugin from functions.php in my theme?
- trigger save_post event programmatically
- Implementing advanced add_* function wrappers
- My add_action (wp_footer, ‘method’) is not calling?
- 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
- is it possible to get the hook name in add_action?
- admin_post hook not called
- Check if action hook exists before adding actions to it
- after login that will redirect user role into a page
- Detect type of post status transition
- Hook before inserting user into database [duplicate]
- How to pass arguments to add_action() [duplicate]
- action lifecycle
- How to use the post_updated hook before and after arguments
- Redirect users on specific post category or category page
- WP Admin Bar frontend issue with dashicon deregister
- How can i trigger an action manually?
- wp_redirect() not working on form submission with init hook
- add_action for lost_password or modify wp-login.php?action=lostpassword
- Add my own function to existing WooCommerce hook
- Empty Super Cache programmatically (with ACF action) [closed]
- What is the best filter where to use register_block_type?
- Admin Hook at the Login Page
- Check if do_action(‘custom_action’) is hooked into?
- How To Make Sure That My Action Hook Executes Last
- Does update_comment_meta hook exists?
- how to determine how many and what kind of arguments are passed to hooks
- WP CLI Get all Enqueued Scripts and Styles
- Delay an action until current action is completed
- What’s hook to use immediately after a user is authentcated [duplicate]
- Event-Driven Pattern vs MVC?
- Looking for a hook for post.php
- Save User Meta Email Address in Lowercase
- Save acf field data via acf/save_post before post is saved
- How do I trigger a post update within a get_posts() foreach loop?
- Hook when editing user
- Execute JavaScript in WordPress Hook
- schedule event in class oriented plugin
- Hooks are not being removed in child theme
- Removing parent theme action on pluggable function not working
- Which action hook should I use to intercept a form upon submission?
- Would there be anything stopping me from removing both wp_head and wp_footer?
- Is it possible to add the_content filter upon login?
- WordPress wp_loaded action hook
- add_action second argument missing
- admin_notices action doesn’t trigger within save_post action
- I don’t understand how add_action and do_action work in tandem. The former executes the code already…what is do_action for?
- Check if `do_action()` in WordPress returns any result
- How to cancel an action hooked to untrash_post? or any hook
- Add Different Actions To Different Page’s wp_footer
- add_action hook for publish_post not working
- Hook for inserting?
- dynamic add_action according to child pages (for homepage control)
- Remove action in a parent theme from the child theme
- Remove action within a class in a parent theme’s includes folder from the child theme
- Remove genesis_404 hook from genesis_loop [closed]
- Add html code in admin page
- What hook to add at start of WordPress load
- A good hook to check authorization and redirect?
- Adding custom Bulk Actions
- What hook to use to redirect based on $post
- Is there a author_update action?
- Restrict editing of post type to list stored in user meta
- How to stop execution of a function via add_action hook?
- Can we change the hook firing sequence?
- changing genesis_before_while in new theme framework
- Rewrite the search page to use an appended slug + parameter
- How to call do_action() to pass arguments to hooked functions that take different number of args?
- remove_action not working for a function
- do_action not working in loop
- add_action doesn’t work for my function
- profile_update hook does not fire from front-end
- Add HTML code before the title of the Tag page
- Check if front page within function passed to action
- Hooks with same priority number. Can one stack items returned in divs, position: absolute each with their own z-index?
- Can add_image_size be added earlier
- $new_pass always returns null – password_reset hook
- Why does get_post() not return anything?
- WordPress save_post hook not firing when checking if _GET[‘post’] is set
- Object oriented programming, add_action in constructor not firing
- add hook restricted only to either plugins or themes?
- Using actions, hooks and filters in a non-WordPress page
- addaction hook cause redirection problem
- Removing action from template class
- Which hook should I use for this scenario regarding the registration process and account/profile update?
- frontend show edit profile with selected custom options
- Redirect back to origin page after using get_delete_post_link()
- How do I override the user’s input when updating a custom post type’s permalink?
- How to add a new link to the default register form’s footer links?
- The acction hook stop working if i move it from plugin file to theme’s functions.php file
- admin_post hook not working
- How do I set a custom post type Category after import using wp_set_post_terms
- Hooks to trigger a callback when adding, removing, rearranging or updating a widget in the widget area