Problema con el carrito de precios condicionales de productos en WooCommerce 3

Modifiqué una función para crear precios personalizados para algunos de mis miembros, es decir, el precio normal es de $ 1, pero si usted es un miembro de bronce es $ 2, un miembro de plata $ 3, etc.

Los precios se modifican en la tienda y en la página de un solo producto. Sin embargo, cuando el producto se agrega al carrito, el precio vuelve al monto original. ¿Hay algún código adicional que deba incluir para que el precio cambie con precisión durante todo el proceso de pago y facturación?

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

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta