Do I need to call do_action
function every time I add_action
something?
1 Answer
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. :)
WooCommerce
plug-in, they've calleddo_action
a lot of time. I'm new to Wordpress and thinking of building a plug-in, so I was checking out some existing codes.