Problema no carrinho de preços de produtos condicionais no WooCommerce 3

Modifiquei uma função para criar preços personalizados para alguns dos meus membros, ou seja, o preço normal é de US $ 1, mas se você for um membro de bronze, será de US $ 2, um membro de prata, US $ 3 etc.

Os preços são alterados na loja e na página do produto. Quando o produto é adicionado ao carrinho, no entanto, o preço volta ao valor original. Existe um código adicional que eu deveria incluir para que o preço seja alterado com precisão até o checkout e o faturamento?

// Variations (of a variable product)
add_filter('woocommerce_variation_prices_price', 'custom_variation_price', 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'custom_variation_price', 99, 3 );
function custom_variation_price( $price, $variation, $product ) {

global $product;
$id = $product->get_id();

$user_id = get_current_user_id();
$plan_id = 1628;

  if ( wc_memberships_is_user_member( $user_id, $plan_id )  ) {

  $new = $price * 2;  

  return ($new);
  }

}

questionAnswers(1)

yourAnswerToTheQuestion