21主题的选项过滤器的位置?

时间:2011-10-19 作者:hamahama

嗨,我正在学习基于现有主题TwentyEleven的主题选项。

我在inc/theme选项中遇到了以下代码。php

return apply_filters( \'twentyeleven_default_theme_options\', $default_theme_options );
我似乎找不到“twentyeleven\\u default\\u theme\\u options”的add\\u筛选器,或者它甚至不存在?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

我认为没有add_filter() 随时随地打电话。如果要覆盖选项默认值,可以调用自己的add_filter() 要做到这一点,可以在插件或子主题中进行。

EDIT

apply_filters() 调用只不过是一个过滤器挂钩定义:基本上,它定义了应用过滤器挂钩的数据。

类似于do_action(), 这是一个动作钩子定义:它定义了触发动作钩子的模板位置/运行时执行点。

因此apply_filters() does not imply 必然会有一个add_filter() 呼叫相反,它仅仅意味着过滤器是available 修改指定的数据。

另一方面add_filter() does imply 在某个地方,对应的apply_filters() 调用存在-就像存在add_action() 调用意味着在某个地方do_action() 呼叫已存在。

SO网友:Rutwick Gangurde

apply_filters 如果要定义自己的过滤器,或使用自定义过滤器包装现有过滤器,则需要。这就是您看到的代码中发生的情况。在初学者阶段,您不需要添加任何自定义过滤器,因此不需要使用apply_filters, 至少在你对现有的产品感到满意之前!WordPress为您提供了一个巨大的过滤器列表,请检查herehere 查看按类别列出的筛选器以及如何使用它们。开始深入研究这些。

结束

相关推荐