apply_filters
and do_action
are NOT stored in $wp_filter
, ONLY add_filter
and add_action
are stored in $wp_filter
When you call apply_filters
or do_action
, core WordPress loops through all of the registered filters or actions (added by add_filter
and add_action
), looking for any matching ones, and then executes the associated function.
The only difference being actions which are stored in the $wp_actions
global var
These are the global vars available for hooks (actions/filters):
global $wp_filter, $wp_actions, $wp_current_filter;
$wp_actions
– stores actions that have already been fired with the number of times it was fired, each time do_action
is called this number is incremented.
You can look at the Query Monitor plugin which does handle tracking of hooks (actions/filters):
https://github.com/johnbillion/query-monitor
Now with that said, one option you have that you can do, is to add your own action for the all
action, and then collect and save the filters/actions that are ran yourself.
Here’s some sites that talk about this:
https://www.smashingmagazine.com/2012/02/inside-wordpress-actions-filters/
Here’s example code of doing this:
https://gist.github.com/bueltge/1000143
https://developer.wordpress.org/plugins/hooks/advanced-topics/#debugging-with-the-all-hook