本文整理汇总了PHP中PSU::actions方法的典型用法代码示例。如果您正苦于以下问题:PHP PSU::actions方法的具体用法?PHP PSU::actions怎么用?PHP PSU::actions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PSU
的用法示例。
在下文中一共展示了PSU::actions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: do_action_ref_array
/**
* Execute functions hooked on a specific action hook, specifying arguments in an array.
*
* @see do_action() This function is identical, but the arguments passed to the
* functions hooked to <tt>$tag</tt> are supplied using an array.
*
* this function was stolen from WordPress
*
* @param string $tag The name of the action to be executed.
* @param array $args The arguments supplied to the functions hooked to <tt>$tag</tt>
* @return null Will return null if $tag does not exist in $wp_filter array
*/
public static function do_action_ref_array($tag, $args)
{
if (!is_array(self::$actions)) {
self::$actions = array($tag);
} else {
self::$actions[] = $tag;
}
self::$current_filter[] = $tag;
/**
* exclude all actions until we need them
// Do 'all' actions first
if ( isset(self::$filter['all']) ) {
$all_args = func_get_args();
_call_all_hook($all_args);
}
*/
if (!isset(self::$filter[$tag])) {
array_pop(self::$current_filter);
return;
}
// Sort
if (!isset(self::$merged_filters[$tag])) {
ksort(self::$filter[$tag]);
self::$merged_filters[$tag] = true;
}
reset(self::$filter[$tag]);
do {
foreach ((array) current(self::$filter[$tag]) as $the_) {
if (!is_null($the_['function'])) {
call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));
}
}
} while (next(self::$filter[$tag]) !== false);
array_pop(self::$current_filter);
}