Возможно ли пересчитать цены на корзину?

На нашем веб-сайте у нас есть функция, которая показана ниже, чтобы изменить цены в зависимости от роли пользователя. Проблема в том, что если клиент входит в систему и имеет премиальную роль, цены будут оставаться такими же, как если бы клиент не занимал эту должность. Есть ли способ пересчитать цены на корзину?

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; } 

Solutions Collecting From Web of "Возможно ли пересчитать цены на корзину?"

Возможно, вам нужно добавить:

 wc_delete_product_transients($post->ID); 

Я сделал что-то подобное в другом проекте, и это сработало:

  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) ;}