Advertisements

apply_filters

Definition:
function apply_filters($tag, $value) {}

Call the functions added to a filter hook.
The callback functions attached to filter hook $tag are invoked by calling this function. This function can be used to create a new filter hook by simply calling this function with the name of the new hook specified using the $tag parameter.

Parameters

  • string $tag: The name of the filter hook.
  • mixed $value: The value on which the filters hooked to <tt>$tag</tt> are applied on.
  • mixed $var,…: Additional variables passed to the functions hooked to <tt>$tag</tt>.

Return values

returns:The filtered value after all hooked functions are applied to it.

Defined filters

  • $tag
    apply_filters($tag, $value)

Source code

function apply_filters($tag, $value) {

	global $wp_filter, $merged_filters, $wp_current_filter;



	$args = array();



	// Do 'all' actions first

	if ( isset($wp_filter['all']) ) {

		$wp_current_filter[] = $tag;

		$args = func_get_args();

		_wp_call_all_hook($args);

	}



	if ( !isset($wp_filter[$tag]) ) {

		if ( isset($wp_filter['all']) )

			array_pop($wp_current_filter);

		return $value;

	}



	if ( !isset($wp_filter['all']) )

		$wp_current_filter[] = $tag;



	// Sort

	if ( !isset( $merged_filters[ $tag ] ) ) {

		ksort($wp_filter[$tag]);

		$merged_filters[ $tag ] = true;

	}



	reset( $wp_filter[ $tag ] );



	if ( empty($args) )

		$args = func_get_args();



	do {

		foreach( (array) current($wp_filter[$tag]) as $the_ )

			if ( !is_null($the_['function']) ){

				$args[1] = $value;

				$value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args']));

			}



	} while ( next($wp_filter[$tag]) !== false );



	array_pop( $wp_current_filter );



	return $value;

}

535

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: