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