3

我正在尝试使用挂钩从 Woocommerce 的商店/目录页面中删除产品缩略图,然后将其替换为我自己的自定义图像。

add_action按预期工作并显示文本,但remove_action不会删除产品缩略图。 这是页面相关的网站页面。

我做错了什么?

下面是我正在使用的代码:

// Remove product images from the shop loop
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );

//Add custom code to replace product thumbnail
add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumb', 10 );

if ( ! function_exists( 'woocommerce_template_loop_product_thumb' ) ) {
    function woocommerce_template_loop_product_thumb() {
        echo "testing";
    }
}
4

1 回答 1

4

你只需要使用woocommerce_init钩子来触发它,这样它就可以工作了。

这是代码:

function replacing_template_loop_product_thumbnail() {
    // Remove product images from the shop loop
    remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
    // Adding something instead
    function wc_template_loop_product_replaced_thumb() {
        echo "TEST TEST";
    }
    add_action( 'woocommerce_before_shop_loop_item_title', 'wc_template_loop_product_replaced_thumb', 10 );
}
add_action( 'woocommerce_init', 'replacing_template_loop_product_thumbnail');

此代码位于您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。

此代码经过测试并且功能齐全。

于 2016-09-28T23:52:07.720 回答