WordPress函数apply_filters_deprecated()触发附加到已弃用的过滤器挂钩

WordPress函数apply_filters_deprecated()触发附加到已弃用的过滤器挂钩

WordPress函数apply_filters_deprecated()触发附加到已弃用的过滤器挂钩

  在 WordPress CMS内容管理系统中,apply_filters_deprecated()一个内置函数,apply_filters_deprecated()函数有两个用途:

  应用过滤器:与 类似apply_filters(),它执行挂钩到特定过滤器的所有函数,并将参数传递给每个函数。

  弃用过滤器:它还会触发弃用通知,警告开发人员和用户有关过滤器被标记为弃用的信息。这表明该过滤器可能会在未来的 WordPress 版本中被删除,并且建议使用替代解决方案。

  推荐:怎么删除WordPress未使用的数据库表(150+插件主题数据库表名称)

apply_filters_deprecated()函数基本语法

描述

  调用已添加到过滤器挂钩的回调函数,并在数组中指定参数。

用法

return apply_filters_deprecated(
  'wpdocs_filter',
  array( $value, $extra_arg ),
  '4.9.0',
  'wpdocs_new_filter'
);
  • $hook_name(字符串)必需。已弃用的过滤器挂钩的名称。
  • $args(数组)必需。要传递给 的附加函数参数数组apply_filters()
  • $version(字符串)必需。弃用该挂钩的 WordPress 版本。
  • $replacement(字符串)可选。应该使用的钩子。默认: ”。
  • $message(字符串)可选。有关更改的消息。默认: ”。

  推荐:WordPress函数block_template_part()打印特定的块模板

apply_filters_deprecated()函数

  apply_filters_ref_array()触发附加到已弃用的过滤器挂钩的函数(源文件可参考这里

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

  推荐:WordPress函数email_exists()确定给定的电子邮件是否存在

如何使用apply_filters_deprecated()

  弃用简单过滤器此示例演示如何弃用名为“wpdocs_filter”的简单过滤器。该过滤器被“wpdocs_new_filter”替换。

$value = 'Hello, World!';
$extra_arg = 'Goodbye, World!';

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

  无需更换过滤器在此示例中,没有替代已弃用的过滤器。仅给出弃用消息。

return apply_filters_deprecated(
  'wpdocs_old_filter',
  array( $some_value, $some_arg ),
  '5.0.0',
  '',
  'wpdocs_old_filter is deprecated without replacement.'
);

  不同版本弃用以下代码在不同的WordPress版本(5.3.0)中弃用了过滤器。

return apply_filters_deprecated(
  'wpdocs_another_filter',
  array( $different_value, $different_arg ),
  '5.3.0',
  'wpdocs_yet_another_filter'
);

  添加自定义弃用消息在此示例中,在弃用过滤器时添加自定义弃用消息。

return apply_filters_deprecated(
  'wpdocs_deprecated_filter',
  array( $value ),
  '5.5.0',
  'wpdocs_replacement_filter',
  'We have replaced wpdocs_deprecated_filter with wpdocs_replacement_filter for better performance.'
);

  弃用具有多个参数的过滤器此处,不推荐使用具有多个参数的过滤器。

return apply_filters_deprecated(
  'wpdocs_complex_filter',
  array( $value1, $value2, $value3 ),
  '5.7.0',
  'wpdocs_simple_filter'
);

  推荐:怎么删除WordPress未使用的数据库表(150+插件主题数据库表名称)

  推荐:WordPress函数使用手册

5/5 - (1 vote)

Claude、Netflix、Midjourney、Chatgpt Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折

Chatgpt-Plus注册购买共享账号
滚动至顶部