Do I need to call do_action in my plugin?

Do I need to call do_action function every time I add_action something?

Related posts

Leave a Reply

1 comment

  1. Usually, you use existing action in your plugins. WordPress will call do_action() when needed.

    If your plugin is rather complex, like a shopping plugin, you may want to offer additional actions for other plugin developers or for the pro-version of your plugin. In these cases you add do_action() wherever you think it could be useful.

    An example: I have a library of PHP classes that I use for some projects. When I write a plugin that relies on my library I have to wait until the library is ready. So I write in my library:

    require 'class.T5_Custom_Post_Type_Helper.php';
    require 'class.T5_Custom_Taxonomy_Helper.php';
    // and so on…
    do_action( 't5_library_loaded' );
    

    In my other plugin I hook into this action to start all the work:

    add_action( 't5_library_loaded', array ( 'My_Plugin_Class', 'init' ) );
    

    Now I know all needed classes available, I don’t have to test class_exists() each time.

    add_action() and do_action() are not necessary tied together. So the answer to your question is: no. 🙂