From b81bf35aad0b0f7fe66d3de780c83632f9a38e7c Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 8 Dec 2006 03:45:34 +0000 Subject: [PATCH] did_action() git-svn-id: http://svn.automattic.com/wordpress/trunk@4630 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/plugin.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php index 68ba99464..f5785086c 100644 --- a/wp-includes/plugin.php +++ b/wp-includes/plugin.php @@ -92,7 +92,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]; @@ -123,10 +124,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);