diff options
Diffstat (limited to 'wp-includes/plugin.php')
| -rw-r--r-- | wp-includes/plugin.php | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php index cac0897..7c58519 100644 --- a/wp-includes/plugin.php +++ b/wp-includes/plugin.php @@ -100,7 +100,8 @@ function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) } function do_action($tag, $arg = '') { - global $wp_filter; + global $wp_filter, $wp_actions; + $args = array(); if ( is_array($arg) && 1 == count($arg) && is_object($arg[0]) ) // array(&$this) $args[] =& $arg[0]; @@ -132,10 +133,27 @@ function do_action($tag, $arg = '') { } } } + + if ( is_array($wp_actions) ) + $wp_actions[] = $tag; + else + $wp_actions = array($tag); +} + +// Returns the number of times an action has been done +function did_action($tag) { + global $wp_actions; + + return count(array_keys($wp_actions, $tag)); } function do_action_ref_array($tag, $args) { - global $wp_filter; + global $wp_filter, $wp_actions; + + if ( !is_array($wp_actions) ) + $wp_actions = array($tag); + else + $wp_actions[] = $tag; merge_filters($tag); |
