A WordPress-centric search engine for devs and theme authors

apply_filters_deprecated › WordPress Function

apply_filters_deprecated ( $hook_name, $args, $version, $replacement = '', $message = '' )
Parameters: (5)
  • (string) $hook_name The name of the filter hook.
    Required: Yes
  • (array) $args Array of additional function arguments to be passed to apply_filters().
    Required: Yes
  • (string) $version The version of WordPress that deprecated the hook.
    Required: Yes
  • (string) $replacement Optional. The hook that should have been used. Default empty.
    Required: No
    Default: (empty)
  • (string) $message Optional. A message regarding the change. Default empty.
    Required: No
    Default: (empty)
  • (mixed) The filtered value after all hooked functions are applied to it.
Defined at:

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' );


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 );