删除子主题中的动作Woocommerce问题

时间:2018-09-03 11:01:41

标签: php wordpress woocommerce product hook-woocommerce

在Woocommerce中,我正在使用sober主题,并且试图覆盖该主题的一些默认功能,但是事情并没有达到我的预期。

例如,我在子主题functions.php中的以下代码段中写道:

function remove_parent_theme_function() {
    remove_action( 'woocommerce_single_product_summary',
                   'woocommerce_template_single_rating', 15 );
}
add_action('after_setup_theme', 'remove_parent_theme_function');

我希望从上面的代码块中删除产品页面中的“评级”部分,但事实并非如此。

我该怎么做才能覆盖父主题操作?

1 个答案:

答案 0 :(得分:0)

模板函数woocommerce_template_single_rating的挂钩优先级为 10 (而不是 15 )…请尝试以下操作:

add_action('woocommerce_single_product_summary', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
}

此代码位于您的活动子主题(或主题)的function.php文件中。应该可以。


或者如果您的主要父主题对此进行了更改,并且优先级为15,请使用:

add_action('woocommerce_single_product_summary', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 15 );
}

add_action('init', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 15 );
}