我正在尝试使用挂钩修改产品价格,并成功设法使用以下方式为常规产品执行:
function filter_woocommerce_get_price() {
return 55;
};
add_filter( 'woocommerce_get_price', 'filter_woocommerce_get_price', 10, 3 );
我注意到这个钩子不适用于变体产品,所以我找到了等价物:
function filter_woocommerce_get_variation_price() {
return 66;
};
add_filter( 'woocommerce_get_variation_price_html', 'filter_woocommerce_get_variation_price', 10, 3 );
但它只是赢了工作...... 我也试过这个:
add_filter( 'woocommerce_variation_sale_price_html', 'my_html', 10, 2);
add_filter( 'woocommerce_variation_price_html', 'my_html', 10, 2);
function my_html( $price, $variation ) {
return woocommerce_price(5);
}
我在网上找到了类似的解决方案,但没有改变我的变体产品价格。
我做错了什么? 请有人帮助我,在这里变得非常绝望吗?
答案 0 :(得分:0)
你的问题是你没有为你的函数定义所需的参数,数字 3 添加add_filters
的结尾意味着你传递3个参数,所以你必须这样做它是这样的:
function filter_woocommerce_get_variation_price($price, $product) {
return 66;
};
add_filter( 'woocommerce_get_variation_price', 'filter_woocommerce_get_variation_price', 10, 2 );
因此可以调用该函数。