2

我正在尝试删除或编辑“销售!” 徽章在 woocommrce 循环中 在此处输入图像描述

在 中content-product.php,注释块说 与woocommerce_show_product_loop_sale_flash挂钩woocommerce_before_shop_loop_item

但是它实际上适用于woocommerce_after_shop_loop_item_title. 在此处输入图像描述

我试图从钩子中删除所有内容,但销售徽章仍然出现:

remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating' );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price' );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash' );

以下也不起作用:

remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash' );
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash' );

所以我真的不知道从哪里调用销售徽章功能?

4

1 回答 1

0

我不确定为什么它对你不起作用,因为你所要做的就是使用 remove_action,参数是正在使用的钩子位置和动作名称。在这种情况下:

remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 );

这行得通,我检查了。我一直在寻找同样的东西。只需将其添加到您的 functions.php 文件中。它将名为 woocommerce_show_product_loop_sale_flash 的操作从挂钩到 woocommerce_before_shop_loop_item_title 挂钩位置中移除。

也许还有一个插件把它放在那里?

就我而言,我不希望销售快闪出现在链接内,所以我将它向上移动为 li 的直接子代。我首先通过上面的方法删除了动作,然后添加了一个带有新钩子位置的新动作。新的钩子位置与用于打开链接的位置相同,因此我必须修改优先级编号以确保在共享钩子的链接操作之前执行它。

add_action( 'woocommerce_before_shop_loop_item', 'woocommerce_show_product_loop_sale_flash', 5 );
于 2021-03-10T03:05:35.417 回答