我的functions.php
包含以下代码:
add_action('plugins_loaded', 'plugin_overrides');
function plugin_overrides() {
error_log("B", 0);
}
我已修改wp-settings.php
以将调试调用放在钩子上:
error_log("A", 0);
do_action( 'plugins_loaded' );
error_log("C", 0);
我的想法是用我自己的动作替换几个woocommerce钩子动作,所以plugin_overrides
调用remove_hook
,依此类推。
但是,plugin_overrides
似乎没有被调用。当我在我的网站上重新加载任何页面时,错误日志仅显示A
和C
消息,而不显示B
。实际上,wp-settings.php
实际上运行了两次,出于某种原因 - 我得到了2组A/C
消息。除非我加载特定于woocommerce的页面,当它运行 3 次时,我的特定于woocommerce的add_action
调试消息会在第一次调用后出现。
知道发生了什么事吗?如何与plugins_loaded
挂钩以调用remove_action
插件?