Do I need to call
do_action function every time I
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.
do_action() are not necessary tied together. So the answer to your question is: no. :)