Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren



apply_filters ›

Seit0.71
Veraltetn/v
apply_filters ( $tag, $value )
Parameter: (3)
  • (string) $tag The name of the filter hook.
    Erforderlich: Ja
  • (mixed) $value The value on which the filters hooked to `$tag` are applied on.
    Erforderlich: Ja
  • (mixed) $var,... Additional variables passed to the functions hooked to `$tag`.
    Erforderlich: Ja
Gibt zurück:
  • (mixed) The filtered value after all hooked functions are applied to it.
Definiert in:
Codex:

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.

The function allows for additional arguments to be added and passed to hooks.

// Our filter callback function
function example_callback( $string, $arg1, $arg2 ) {
    // (maybe) modify $string
    return $string;
}
add_filter( 'example_filter', 'example_callback', 10, 3 );

/
  Apply the filters by calling the 'example_callback' function we
  "hooked" to 'example_filter' using the add_filter() function above.
  - 'example_filter' is the filter hook $tag
  - 'filter me' is the value being filtered
  - $arg1 and $arg2 are the additional arguments passed to the callback.
$value = apply_filters( 'example_filter', 'filter me', $arg1, $arg2 );


Quellcode

function apply_filters( $tag, $value ) {
	global $wp_filter, $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;

	if ( empty($args) )
		$args = func_get_args();

	// don't pass the tag name to WP_Hook
	array_shift( $args );

	$filtered = $wp_filter[ $tag ]->apply_filters( $value, $args );

	array_pop( $wp_current_filter );

	return $filtered;
}