• Resolved champdor

    (@champdor)


    Szia Péter!

    Mivel hatósági áras az MPL/Postapont, 200 Ft kezelési k?ltséget számolunk fel küld?n soron. Ez teljesen jól m?k?dik, kivéve hogy Foxpost is van, és jelenleg szállítási módra tesztelek, így a Foxpostnál is felszámolja.

    Itt tartok:

    // CHECKOUT: add handling fee for MPL shipping methods
    add_action( 'woocommerce_cart_calculate_fees', 'vrm_add_mpl_handling_fee_checkout' );
    function vrm_add_mpl_handling_fee_checkout( $cart ) {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
    
        $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
        $chosen_shipping = ! empty( $chosen_methods ) ? $chosen_methods[0] : '';
    
        if ( strpos( $chosen_shipping, 'local_pickup' ) === false ) {
            $cart->add_fee( 'Kezelési k?ltség', 157.48, true, 'standard' );
        }
    }

    De itt csak a shipping_method neve érkezik, és nyilván nincs benne a válaszott átvételi pont. Mivel lehetne lekérni a WC()->session-b?l az aktuális átvételi pontot?

    El?re is k?sz?n?m, ha segítesz. Talán másnak is hasznos lehet, ha meg tudjuk oldani.

    Champdor

    The page I need help with: [log in to see the link]

Viewing 5 replies - 1 through 5 (of 5 total)
  • Sziasztok!

    Ugyanez a problémám nekem is.

    Plugin Author Viszt Péter

    (@passatgt)

    Sziasztok!

    $selected_pont = WC()->session->get( 'selected_vp_pont' );

    és ezen belül a szolgáltató:

    $provider = $selected_pont['provider'];
    Plugin Author Viszt Péter

    (@passatgt)

    Minta kód posta díjhoz:

    add_action( 'woocommerce_cart_calculate_fees', function($cart){
    	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    	return;
    
    	//Get shipping method
    	$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
    	$selected_pont = WC()->session->get( 'selected_vp_pont' );
    	$chosen_shipping = $chosen_methods[0];
    	$vp_pont_chosen = false;
    
    	//Check if at least one of the shipping methods are vp_pont
    	foreach ($chosen_methods as $method) {
    		if (strpos($method, 'vp_pont') !== false) {
    			$vp_pont_chosen = true;
    			break;
    		}
    	}
    
    	//Check if postapont is selected
    	if(($vp_pont_chosen && $selected_pont['provider'] && strpos($selected_pont['provider'], 'posta') !== false)) {
    		$cart->add_fee( 'Csomagolási díj', 1000 );
    	}
    
    });
    shaboishtvan

    (@shaboishtvan)

    Kedves Péter!

    Hálásan k?sz?njük, m?k?dik!

    Plugin Author Viszt Péter

    (@passatgt)

    Van egyébként egy plusz b?vítményem, ha valaki nem akar kódolni, akkor azzal beállítható:

    https://visztpeter.me/termek/vp-woo-extra-fees/

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Kezelési k?ltség csak postapontokra’ is closed to new replies.