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

woocommerce školení

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

WordPress specialista · 12 let praxe · 300+ webů ve správě

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áře

  1. Emanuel

    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. :/

    Odpovědět
  2. Klaudia

    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

    Odpovědět
    • Bohdana

      Dobrý den, přišla jste prosím na nějakou metodu? Děkuji.

      Odpovědět
      • Klaudia

        Dobrý deň, nie, riešenie som nenašla 🙁

        Odpovědět
        • Tomáš Cirkl

          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.

          Odpovědět
  3. Milan

    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.

    Odpovědět

Odeslat Komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Pojďme se seznámit

30 minut video callu, podívám se na tvůj web a řeknu, co by se dalo zlepšit. Nic neslibuju, ale obvykle odcházíš se seznamem priorit.