有没有可能重新计算购物车价格?

时间:2017-09-01 作者:Albert

在我们的网站上,我们有下面显示的功能,可以根据用户角色更改价格。问题是,如果客户登录并担任高级角色,价格将保持不变,就像客户不担任高级角色一样。有没有办法重新计算购物车的价格?

add_filter(\'woocommerce_get_price\', \'return_custom_price\', $product, 2);
add_filter(\'woocommerce_product_variation_get_price\', \'return_custom_price\', $product, 2);

function return_custom_price($price, $product) {    
    if (! current_user_can(\'premium\') || ! is_user_logged_in()) {
        global $post, $woocommerce;
        return $new_price = $price * 1.25;   
    }
    return $price;
} 

1 个回复
SO网友:Erez Lieberman

也许您需要添加:

wc_delete_product_transients($post->ID);
我在opther项目中做了类似的事情,这很有效:

 if (is_user_logged_in()) {
add_filter(\'woocommerce_product_variation_get_regular_price\', \'my_custom_price\', 10, 2);
add_filter(\'woocommerce_product_variation_get_price\',\'my_custom_price\', 10, 2); } function my_custom_price( $price ) {
global $post;

// Delete product cached price  (if needed)
wc_delete_product_transients($post->ID);

// Return the new price

return $price = ($price * 1.1) ;}

结束

相关推荐