Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - /**
 - * Measurement Price Calculator - Fix the price calculation logic to use the
 - * latest product price, for multi-currency compatibility.
 - *
 - * HOW TO USE THIS CODE
 - * Add the code to the bottom of your theme's functions.php file, and it
 - * will run automatically. For more information: https://www.skyverge.com/blog/add-custom-code-to-wordpress/
 - *
 - * GPL DISCLAIMER
 - * Because this code program is free of charge, there is no warranty for it, to the extent permitted by applicable law.
 - * Except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is"
 - * without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of
 - * merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program
 - * is with you. should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
 - *
 - * Need a consultation, or assistance to customise this code? Find us on Codeable: https://aelia.co/hire_us
 - *
 - * @param array cart_item
 - * @param array values
 - * @return array
 - * @tested with Measurement Price Calculator 3.12.4
 - */
 - add_filter( 'woocommerce_get_cart_item_from_session', function($cart_item, $values) {
 - if ( isset( $values['pricing_item_meta_data'] ) ) {
 - // Remove the original filter, as it would cause conflicts
 - remove_filter( 'woocommerce_get_cart_item_from_session', array( WC_Measurement_Price_Calculator::instance()->get_cart_instance(), 'get_cart_item_from_session' ), 1, 2 );
 - // Store the cart item attributes on the item
 - $cart_item['pricing_item_meta_data'] = $values['pricing_item_meta_data'];
 - // Recalculate the item price, based on the product measurements
 - $cart_item['pricing_item_meta_data']['_price'] = WC_Price_Calculator_Product::calculate_price($cart_item['data'],
 - $cart_item['pricing_item_meta_data']['_measurement_needed'],
 - $cart_item['pricing_item_meta_data']['_measurement_needed_unit']);
 - // Set the product price (if needed)
 - $cart_item = WC_Measurement_Price_Calculator::instance()->get_cart_instance()->set_product_prices( $cart_item );
 - }
 - return $cart_item;
 - }, 0, 2 );
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment