gpt4 book ai didi

javascript - 使用现有 Hook 的函数无法使用自定义 do_action Hook

转载 作者:行者123 更新时间:2023-11-27 22:49:32 25 4
gpt4 key购买 nike

我知道add_action用于在钩子(Hook)位置调用函数。我使用了如下所示的 add_action ,它为我提供了我需要的输出(这是 WooCommerce 中产品的价格):

add_action( 'woocommerce_before_variations_form', 'woocommerce_single_variation', 10 );

我在我构建的自定义插件中使用了上述代码。

但现在我希望价格显示在不同的位置。我读到了 do_action 并了解到它用于制作新的钩子(Hook)。

所以我做了一个像下面这样的新钩子(Hook) -

do_action('unique_mycustom_hook');

新 Hook 保存在 Woocommerce 模板文件夹内的“content-single-product.php”内。

然后我使用插件文件中的以下代码在新 Hook 上调用我的函数。

add_action( 'unique_mycustom_hook', 'woocommerce_single_variation', 10 );

但是这次我没有得到任何输出!

您是否知道为什么 add_action 在现有的 woocommerce Hook 中有效,但在使用 do_action 制作的新 Hook 中不起作用?

谢谢。

<小时/>

更新 -我正在根据要求添加更多信息。

我在 woocommerce 中 Hook 的目的是让产品的价格出现在固定的侧边栏中。所以我做了一个<div>文件 "content-single-product.php" 内的部分在 WooCommerce 模板文件夹内。这是我添加到 woocommerce 模板中的确切代码。

<div class="this_sidebar_is_fixed">
<?php
do_action('unique_mycustom_hook');
?>
</div>

然后我使用我拥有的自定义插件来调用该钩子(Hook)。

仍然无法正常工作。

最佳答案

因为位置也很重要,具体取决于您要 Hook 的内容。
woocommerce_before_variations_form 位于表单内的 single-product/add-to-cart/variable.php 模板上。

因此,例如,如果您将 unique_mycustom_hook 放置在此表单之外(或另一个模板中),它将不起作用。这是主要原因……他们也可以是其他原因。

---- 已更新 ----

content-single-product.php 内,您的 do_action('unique_mycustom_hook'); 无法工作,因为它需要位于 的表单内>single-product/add-to-cart/variable.php...

关于javascript - 使用现有 Hook 的函数无法使用自定义 do_action Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38172100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com