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'
);
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折