Snippets

Martin Urbánek WP & WOO - zaokrouhlování ceny při platbě v hotovosti

Created by Martin Urbánek last modified
<?php
/**
*    WP & WOO - zaokrouhlování ceny při platbě v hotovosti
*
*    + poplatek za dobírku
*    
*    https://ceskepluginy.cz
*/


add_filter( 'woocommerce_calculated_total', 'custom_calculated_total' );
function custom_calculated_total( $total ) {
  $vybrana_platba = WC()->session->get( 'chosen_payment_method' );
  if ( $vybrana_platba == 'cod' ) {
    $total = round( $total, 1 );
    return ceil($total);    
  }
  return $total;
}

add_action('wp_footer', 'checkout_payment_shipping_change_refresh_script');
function checkout_payment_shipping_change_refresh_script(){
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>
    <script type="text/javascript">
    (function($){
        $(document.body).on('change', 'input[name="payment_method"],input[name^="shipping_method"]', function(){
            $(document.body).trigger('update_checkout').trigger('wc_fragment_refresh');
        });
    })(jQuery);
    </script>
    <?php
    endif;
}

add_action( 'woocommerce_cart_calculate_fees', 'dobirka_poplatek_za_platbu' );
function dobirka_poplatek_za_platbu() {
    $vybrana_platba = WC()->session->get( 'chosen_payment_method' );
     if ( $vybrana_platba == 'cod' ) {
      WC()->cart->add_fee( __('Poplatek za dobírku', 'language_domain'), 29, true, 'trida_dopravy'); // language_domain změňte podle vaší šablony nebo pluginu; číslo nahraďte vlastní hodnotou poplatku; true je pro započtení DPH k ceně, false pro cenu bez bez DPH; třída dopravy, pro kterou je poplatek určený, pokud nepoužíváte třídy dopravy, tak parametr vynechte
   }
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.