Snippety WooCommerce

Jak skrýt ostatní dopravy, když je dostupná doprava zdarma

woocommerce školení
Autor příspěvku Tomáš Cirkl

WooCommerce v základním nastavení umožňuje využít dopravu zdarma dle předem definovaných podmínek. Nicméně neumí v případě, že zákazník dopravu zdarma splňuje, automaticky skrýt ostatní dopravy.

Doprava zdarma

Doprava zdarma

To samozřejmě nevypadá dobře a mnohem lepší je skrýt ostatní druhy dopravy, když je doprava zdarma dostupná.

Pro aktivaci této funkce je potřeba vložit níže uvedený kód do vlastního pluginu nebo do functions.php v child šabloně.

function my_hide_shipping_when_free_is_available( $rates ) {
	$free = array();
	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
			break;
		}
	}
	return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

Po uložení a promazání WooCommerce cache můžete vidět, že pokud je dostupná doprava zdarma, bude v nabídce jediná.

Doprava zdarma samotná

Doprava zdarma samotná

Dostaňte toto nastavení do WooCommerce

V případě, že vám nastavení skrytí ostatních doprav, když je doprava zdarma dostupná chybí v základu WooCommerce, můžete hlasovat o jeho přidání do jádra.

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

7 komentářů

  • Dobrý den,

    velice děkuji za toto info, avšak není ještě nějaký další způsob „kde“ tuto funkci nastavit? Chilld šablonu bohužel nemám(firemní účaty) a vlastní plugin je taky trošku mimo možnosti. :/

  • Dobrý deň, ďakujem, táto funkcia je super, funguje. Po pridaní tejto funkcie sa síce skryjú ostatné dopravy, ale zákazník potom nemá na výber, ako mu má byť tovar doručený. Vyplní len svoju adresu a meno, ale nie je tam žiadna možnosť, či to chce poslať poštou, cez zásielkovňu alebo kuriérom.
    Viete prosím poradiť, ako toto riešiť? Ďakujem

        • Ano, zůstane tam jen doprava zdarma a vše se skryje, aby si majitel e-shopu vybral nejlevnější doručení. Pokud chcete, aby měl i nadále uživatel na výběr, nemůžete mu metody skrýt, ale upravit jejich cenu na zadarmo.

  • Staci predsa vytvorit vo woocommerce doprava zdarma. A pluginom: WC Hide Shipping Methods a skryt vsetky dopravy okrem dopravy zdarma. Sposob dopravy Vam zostane len bude zdarma 🙂 Takto to ja bezne pouzivam a mate klud.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!