我需要知道除了 /wp-includes/plugin.php 之外,除了 /wp-includes/plugin.php 之外,还有其他路径到文件的其他路径吗?
2 回答
动作和钩子没有被存储,这就是它们的全部美。您使用 注册一个新动作add_action()
,将一个函数添加到将使用声明的动作执行的函数列表中。然后,在任何你想要的地方执行动作do_action()
,甚至在多个地方。这样,可以在任何地方将功能添加到操作中,并且可以在任何地方执行操作......也就是说,您实际上可能正在寻找 WordPress 的某些操作确实在哪里执行,以了解为什么会发生某些事情,并对其进行调查,并可能通过添加另一个功能(与另一个add_action
宣言)。也许这就是您正在做的事情,但是如果您需要帮助,则必须更加明确。无论如何,在这种情况下,只需在您的 WordPress 文件夹中搜索“do_action”,甚至可能是“do_action('name_of_the_action_if_you_know_it”...
它们存储在全局 $wp_filter 变量中。
此变量是 WP_HOOK 对象的数组。WP_HOOK 类在 wp-includes/class-wp-hook.php 中定义。
此类具有 this->apply_filters 方法,该方法在调用 do_action() 时执行 add_action() 中的函数。
该函数通过 call_user_func_array() php 函数执行。