In general: Yes, wait for a dedicated hook to start your own code. Never just throw an object instance into the global namespace. But init
is rarely necessary.
You hook in as late as possible. If your first code runs on wp_head
do not use an earlier hook. You can even cascade hooks:
add_action( 'wp_head', 'first_callback' );
function first_callback()
{
// do something
// then
add_action( 'wp_footer', 'second_callback' );
}
Regarding the init
hook: Use wp_loaded
instead. That runs after init
and after ms_site_check()
was called. This way you avoid to run your plugin on an invalid sub site in a multi-site installation. Everything else is the same.
Related Posts:
- Difference between after_setup_theme and init action hooks?
- Difference between hooks Plugin_loaded and admin_int?
- wp_redirect() not working on form submission with init hook
- What is the best filter where to use register_block_type?
- Prevent attachment from being deleted
- Get log of function/method calls made by do_action() on WordPress initialization
- Hooking into the init action will fire it too frequently?
- Plugins rewrite rules the right way
- PHP header() gives headers already sent
- Why can’t a custom postype be registered with “admin_init” hook?
- How to cancel an action hooked to untrash_post? or any hook
- Session management issues with WordPRess 404 Error page
- WP_mail() Issue. Duplicate emails if $_GET[‘A’] == email
- Function Hooked on Init Running Multiple Times
- Redirect back to origin page after using get_delete_post_link()
- Is there a way to send HTML formatted emails with WordPress’ wp_mail() function?
- How to get WordPress’ hooks/actions run sequence?
- 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
- How to know what functions are hooked to an action/filter?
- How to hook update_post_meta and delete_post_meta?
- Are there any hooks that alter the 404 logic?
- Is there a hook that runs after a user logs in?
- How can I edit post data before it is saved?
- Difference between do_action and add_action
- How do you use a CPT as the default home page?
- Which hook should be used to add an action containing a redirect?
- WP Cron Doesn’t Execute When Time Elapses
- WooCommerce: change display order of product short description and price [closed]
- Why do some hooks not work inside class context?
- get $post in init filter or action?
- Is there a way to set default custom fields when creating a post?
- How many times can I hook into the same action?
- How do I implement the WordPress Iris picker into my plugin on the front-end?
- How to intercept a 404 error
- Move excerpt meta box to above content editor
- Action hook for custom tax edit
- Trigger custom action when setting button pressed
- What is “all” in isset($wp_filter[‘all’])
- Whats worth using add_action when we can simply use add_filter?
- Is there a limit to hook priority?
- Please explain how these hooks work
- Add_action to wp_head via functions.php
- Hook after image is uploaded and image sizes generated
- How to add a new product type on woocommerce product types? [closed]
- WordPress and event-driven programming – what is it about?
- Is there a hook before the user is authenticated?
- Hook that fires when admin setting is saved
- WordPress hook before inserting post into database
- Making Custom Fields Standard in the Admin UI
- add_action(‘wp_ajax_[action name]’, myfunction) problem
- What is the difference between update_post_meta and update_postmeta hooks?
- Hook ‘wp_enqueue_scripts’ priority has no effect
- Hook on trash post
- Hook *after* user password change?
- Auto-retrieve YouTube Image for Thumbnail?
- Which hook if user profile information is updated?
- How to remove action hook done in a plugin from functions.php in my theme?
- On which hook should I be calling register_nav_menu(s)?
- Hooks for trashing, deleting, saving, restoring custom post type
- Is there a WordPress core & plugins update action hook?
- Hook into WordPress update?
- trigger save_post event programmatically
- Implementing advanced add_* function wrappers
- Are there any action like ‘init_frontend’
- Adding onload to body
- My add_action (wp_footer, ‘method’) is not calling?
- Using filters and actions for plugin API?
- Add custom html to last sub-menu item
- Do WordPress Core Filenames Work as Hooks?
- What is the earliest possible hook for safely using `is_front_page`?
- switch_to_blog(): Load textdomain
- Issue with get_theme_mod returning a blank value instead of the saved value
- How to call a REST endpoint when a post is published?
- __NAMESPACE__ with register_activation_hook
- Init action hook running late after PayPal’s return url?
- Can I hook inside another hook?
- Receiving Stripe Webhooks on a wordpress website
- Adding function directly vs using hook in function.php
- Are hooks called synchronously?
- How to check if which hook triggered the call to a function?
- How can I send to multiple Contact Form 7 recipients based on form input? [closed]
- Hook into wp_head(); in a plugin
- Send data to 3rd party api with wp_remote_post on wp_login
- is it possible to get the hook name in add_action?
- Hook for URL Request
- How do I flush the rules after saving settings using the Settings API?
- Run javascript code after wp_login hook?
- Does anyone have a visual breakdown of core hooks and when they are fired?
- How to customize the WP admin default help contents
- What is the action hook for save media-form on gallery tab?
- What hook is executed just after wp_query has been executed?
- Hide gutenberg option blocks
- The ‘user_has_cap’ hook seems to take two page loads to trigger
- Why isn’t is_home() working correctly?
- How and where can we request new WordPress hooks to be added?
- Disable block from editor based on post type
- WordPress Admin Tooltip hooks
- Wp_update_post: Infinite loop even with remove_action solution, OOP