Wordpress 我们可以在没有do_操作钩子的情况下执行add_操作函数吗

Wordpress 我们可以在没有do_操作钩子的情况下执行add_操作函数吗,wordpress,hook,Wordpress,Hook,为了定制一个插件,我发现了一个使用add_操作执行的函数。然而,我在这个插件上到处寻找do_操作钩子。我找不到它。那么,有没有可能在没有钩子的情况下执行add_操作中的函数呢?add_操作的第二个参数实际上是被调用的函数名 像 添加行动“woocommerce\u单一产品\u摘要”、“woocommerce\u模板\u单一标题”,5 也可以通过echo-woocommerce\u-template\u-single\u-title调用 如果您编写do_action‘woocommerce_sin

为了定制一个插件,我发现了一个使用add_操作执行的函数。然而,我在这个插件上到处寻找do_操作钩子。我找不到它。那么,有没有可能在没有钩子的情况下执行add_操作中的函数呢?

add_操作的第二个参数实际上是被调用的函数名

添加行动“woocommerce\u单一产品\u摘要”、“woocommerce\u模板\u单一标题”,5

也可以通过echo-woocommerce\u-template\u-single\u-title调用

如果您编写do_action‘woocommerce_single_product_summary’,您将获得附加到该操作的所有函数

像这样

add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );

所有人都会被称为写“商业单品汇总”的行动

最终,这些操作只是可调用的,可以通过多种方式调用。要找到调用操作的位置,请获取堆栈跟踪,并将其打印到某个位置。差不多

function my_the_content_filter($content) {
  return '<pre>' . print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS),true) . '</pre>' . $content;
}

add_filter( 'the_content', 'my_the_content_filter' );
除了在您的情况下,backtrace调用将进入插件的修改副本,以及您想了解更多的现有操作的代码中。此外,根据您的情况,您可能需要打印到文件,或者使用WordPress的调试日志,而不是添加到页面内容