apply_filters_deprecated()WP 4.6.0

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' );
Hooks from the function


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


apply_filters_deprecated( $hook_name, $args, $version, $replacement, $message );
$hook_name(string) (required)
The name of the filter hook.
$args(array) (required)
Array of additional function arguments to be passed to apply_filters().
$version(string) (required)
The version of WordPress that deprecated the hook.
The hook that should have been used.
Default: ''
A message regarding the change.
Default: ''



Since 4.6.0 Introduced.

apply_filters_deprecated() code WP 6.5.3

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

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

	return apply_filters_ref_array( $hook_name, $args );