Ako skryť spôsoby dopravy v prípade poštovného zdarma.

Medzi spôsoby dopravy často krát máme možnosť aj dopravu zadarmo, napr. po dosiahnutí určitej hodnoty objednávky. Woocommerce však v prípade splnenia podmienky pre dopravu zadarmo zobrazuje všetky dostupné spôsoby dopravy.  Nasledujúcim krátkym kódom docielíme to, že v prípade ak zákaznik splní podmienku pre získanie dopravy zadarmo, automaticky sa bude zobrazovať iba táto možnosť, prípadne spolu s osobným odberom.

				
					function pixeler_hide_shipping_when_free_is_available($rates, $package)
{
    $new_rates = array();
    foreach ($rates as $rate_id => $rate) {
        // ulozenie sposobu dopravy zadarm
        if ('free_shipping' === $rate->method_id) {
            $new_rates[$rate_id] = $rate;
            //break; // odkomentuj `break;` pre zobrazenie iba prveho sposobu dopravy zadarmo
        }
    }

    if (!empty($new_rates)) {
        //povolit okrem dopravy zadarmo aj osobný odber
        foreach ($rates as $rate_id => $rate) {
            if ('local_pickup' === $rate->method_id) {
                $new_rates[$rate_id] = $rate;
                break; // odkomentuj  `break;` pre zobrazenie iba prvého sposobu dopravy osobny odber
            }
        }
        return $new_rates;
    }

    return $rates;
}

add_filter('woocommerce_package_rates', 'pixeler_hide_shipping_when_free_is_available', 10, 2);
				
			
Picture of Roman Kraiger

Roman Kraiger

Zakladateľ agentúry Pixeler, vášnivý cyklista, programátor a občasný bloger.

Páčil sa Vám tento článok?

Odmeňte ho páčikom.

alebo ho zdieľajte medzi priateľmi na:

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *