Filter是Hooks的两种类型之一。
它们为功能修改其他功能的数据提供了一种方法。 他们是Action的对手。
与Action不同,Filter旨在以孤立的方式工作,并且不应该有副作用,例如影响全局变量和输出。
添加 Filter
添加过滤器的过程包括两个步骤。
首先,您需要创建一个回调函数,该函数在运行过滤器时将被调用。 其次,您需要将Callback函数添加到一个将执行该函数调用的钩子中。
您将使用add_filter()函数,传递至少两个参数string $ tag,callable $ function_to_add。
以下示例将在执行the_title过滤器时运行。
<?php
function wporg_filter_title($title)
{
return 'The ' . $title . ' was filtered';
}
add_filter('the_title', 'wporg_filter_title');
说我们有一个帖子标题“学习WordPress”,上面的例子将修改为“学习WordPress被过滤”。
您可以参考Hooks章节了解可用挂钩的列表。
当您获得更多的经验,通过WordPress核心源代码将允许您找到最合适的钩子。
附加参数
add_filter()可以接受两个附加参数,int $ priority用于给予回调函数的优先级,int $ accepted_args表示将传递给回调函数的参数数。
有关这些参数的详细说明,请阅读有关操作的文章。
示例
<?php
function wporg_css_body_class($classes)
{
if (!is_admin()) {
$classes[] = 'wporg-is-awesome';
}
return $classes;
}
add_filter('body_class', 'wporg_css_body_class');