wordpress操作,过滤器和放大器在哪里?挂钩存放?

时间:2012-11-18 19:23:18

标签: wordpress

除了/wp-includes/plugin.php之外,我还需要知道是否存在其他存储钩子(动作和过滤器)的文件的其他路径

2 个答案:

答案 0 :(得分:7)

不存储动作和钩子,这是它们的整体美。您使用add_action()注册一个新操作,将函数添加到将使用声明的操作执行的函数列表中。然后,即使在多个地方,也可以随时随地使用do_action()执行操作。这样,函数可以添加到任何地方的动作,并且可以在任何地方执行动作...... 也就是说,您可能实际上想要找到WordPress的某些操作,实际上是执行的地方,以便了解为什么会发生某些事情,然后查看它,并且可能通过添加另一个函数来干扰(使用另一个{{1} } 宣言)。也许这就是你在做什么,但如果你需要帮助,你必须更明确。无论如何,在这种情况下,只需在“do_action”上的WordPress文件夹中启动搜索,甚至可能是“do_action('name_of_the_action_if_you_know_it”......

答案 1 :(得分:1)

它们存储在全局$ wp_filter变量中。

此变量是WP_HOOK对象的数组。 WP_HOOK类在wp-includes / class-wp-hook.php中定义。

此类具有this-> apply_filters方法,该方法在调用do_action()时执行add_action()中的功能。

该功能是通过call_user_func_array()php函数执行的。