apply_filters_deprecated( string $tag, array $args, string $version, string $replacement = '', string $message = '' )

Fires functions attached to a deprecated filter hook.


When a filter hook is deprecated, the apply_filters() call is replaced with apply_filters_deprecated(), which triggers a deprecation notice and then fires the original filter hook.

Note: the value and extra arguments passed to the original apply_filters() call must be passed here to $args as an array. For example:

// Old filter.
return apply_filters( 'wpdocs_filter', $value, $extra_arg );

// Deprecated.
return apply_filters_deprecated( 'wpdocs_filter', array( $value, $extra_arg ), '4.9.0', 'wpdocs_new_filter' );

See also



(string) (Required) The name of the filter hook.


(array) (Required) Array of additional function arguments to be passed to apply_filters().


(string) (Required) The version of WordPress that deprecated the hook.


(string) (Optional) The hook that should have been used.

Default value: ''


(string) (Optional) A message regarding the change.

Default value: ''


File: wp-includes/plugin.php

function apply_filters_deprecated( $tag, $args, $version, $replacement = '', $message = '' ) {
	if ( ! has_filter( $tag ) ) {
		return $args[0];

	_deprecated_hook( $tag, $version, $replacement, $message );

	return apply_filters_ref_array( $tag, $args );


Version Description
4.6.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.