【问题标题】:remove_action on related products is not working with woocommerce hook相关产品的 remove_action 不适用于 woocommerce 挂钩
【发布时间】:2017-07-02 02:18:12
【问题描述】:
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );

我的functions.php 文件中有这一行。我从content-single-product.php 文件中获得了这些钩子。但是,我的单品页面上的相关产品仍然存在。

我不想完全删除该功能,我欺骗了他们的$args 来做我自己的查询。

更新

function remove_woo_relate_products(){
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
}

add_action('init', 'remove_woo_relate_products', 10);

我尝试编写一个函数来实现我的目标,但来自do_action 的相关产品仍然存在。我只能想到 CSS 来做我需要的事情,但我不应该依赖这个。

另外,为了展示这一点,这是content-single.product.php 文件中的内容:

<?php
    /**
     * woocommerce_after_single_product_summary hook.
     *
     * @hooked woocommerce_output_product_data_tabs - 10
     * @hooked woocommerce_upsell_display - 15
     * @hooked woocommerce_output_related_products - 20
     */
    do_action( 'woocommerce_after_single_product_summary' );
?>

【问题讨论】:

  • 您的remove语句中的优先级与add_action()的优先级不匹配,即10。
  • 您使用的代码完美运行(并且您使用的优先级是好的)。您的问题肯定与您的主题有关。为了说明这个证据,请尝试以下操作(之前进行数据库备份):切换到默认的 Wordpress 主题并将您的代码添加到此默认主题的 function.php 并保存。 您将看到您的代码正在运行……

标签: woocommerce hook hook-woocommerce


【解决方案1】:

正如LoicTheAztec 正确指出的那样,您的代码运行良好。我们对其进行了测试。相关产品已删除,但追加销售产品仍然存在。 我们使用店面主题进行了测试。

function remove_woo_relate_products(){  
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
    remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
    remove_action( 'woocommerce_after_single_product_summary', 'storefront_upsell_display', 15 );
}
add_action('init', 'remove_woo_relate_products', 10);

你可以看到storefront_upsell_display正在调用woocommerce_upsell_display

function storefront_upsell_display() {
    woocommerce_upsell_display( -1, 3 );
}

因此,在此代码中,我们删除了主题的追加销售操作。同样的逻辑,也有可能在你的主题中调用相关产品功能。如果是这种情况,您可以删除相应的操作。

注意:确保代码在您当前主题的functions.php中

【讨论】:

    猜你喜欢
    • 2021-07-10
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    相关资源
    最近更新 更多