title: woocommerce_before_calculate_totals fires twice
body: <p>Writing an addition to the site, want to modify the price in the cart. Have the following code:</p>
  
  <pre><code>function apd_product_custom_price($cart_item_data, $product_id)
  {
      if (isset($_POST['use_rewards']) &amp;&amp; !empty($_POST['use_rewards'])) 
      {
         $cart_item_data['use_rewards'] = $_POST['use_rewards'];
      }
      return $cart_item_data;
  }
  
  add_filter('woocommerce_add_cart_item_data', 'apd_product_custom_price', 99, 2);
  
  function apd_apply_custom_price_to_cart_item($cart_object)
  {
     if( !WC()-&gt;session-&gt;__isset( 'reload_checkout' )) {
          foreach ($cart_object-&gt;cart_contents as $value) {
              if(isset($value['use_rewards'])) {
                  $price = $value['data']-&gt;get_price() - 
     $value['use_rewards'];
                  $value['data']-&gt;set_price($price);
              }
          }
      }
  
  }
  add_action('woocommerce_before_calculate_totals', 'apd_apply_custom_price_to_cart_item',10);
  </code></pre>
  
  <p>By some reason the hook woocommerce_before_calculate_totals fires twice. if I replace the code in the function apd_apply_custom_price_to_cart_item($cart_object) with just echo 1; it displays 11 in the cart page. Can some please help?</p>