/** * Rounds the prices of products and variations to the closest 50 cents. * * DISCLAIMER * Aelia and any member of its staff are not responsible for any data loss or damage incurred * when using the code, which you can use at your own risk. * * 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 */ function custom_round_product_price($price, $product) { // The price may be not numeric, or an empty string. In such // case, it should be left as it is (an empty string means "no price"), // not "zero" if(!is_numeric($price) || ($price === '')) { return $price; } // Round the price to the closest 50 cents return round($price * 2, 0) / 2; } add_filter('woocommerce_product_get_price', 'custom_round_product_price', 10, 2); add_filter('woocommerce_product_variation_get_price', 'custom_round_product_price', 10, 2);