在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');
我希望从上面的代码块中删除产品页面中的“评级”部分,但事实并非如此。
我该怎么做才能覆盖父主题操作?
答案 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 );
}