přidání podmínky pro druhou doručovací metodu – functions.php

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem přidání podmínky pro druhou doručovací metodu – functions.php

Zvolené téma obsahuje celkem 9 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  n3s4 a poslední změna je stará 11 hodin, 21 minut.

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)
  • Autor
    Příspěvky
  • #38025

    n3s4
    Participant

    Dobrý den,

    používám funkci pro zobrazení dopravy zdarma u dopravních metod a v kódu je jedna podmínka na flat_rate:4. Potřebuji přidat další a to s id 5. Věděl by někdo, jak přidat?

    function wp_freeshipping_change_flat_rates_cost( $rates, $package ) {
            // Check the total value of items in cart
      if (WC()->cart->cart_contents_total > 600) {
        foreach ($rates as $key => $rate) {
          // set price to zero if the shipping is not ID 4
          if ($key != 'flat_rate:4') {
            $rates[$key]->cost = 0;
          }
        }
      }
      return $rates;
    }

    Předem děkuji.

    #38026

    n3s4
    Participant

    EDIT: je toto správné řešení:

    if ($key != 'flat_rate:4' and $key != 'flat_rate:5') {
    
    #38027

    admin
    Keymaster
    Web

    Ano, ale má to některé problémy (např. po změně nastavení dopravy se možná změní i ID). Pokud použijete plugin České služby, tak to tam lze snadno nastavit u každého způsobu dopravy (podrobnosti), např. 600|0 a ještě to řeší daně + můžete si zvolit, zda se bude na pokladně zobrazovat 0,00 Kč nebo ZDARMA :-)

    #38037

    n3s4
    Participant

    Děkuji za radu, vaše řešení je mnohem účinnější :) Doposud jsem na něj při prozkoumávání pluginu nenarazil :)

    #38076

    admin
    Keymaster
    Web

    Je to novinka stará jen několik dní :-) Kdyby tam něco nefungovalo, tak stačí napsat…

    #38112

    n3s4
    Participant

    Funguje to skvěle! Šlo by přidat i zobrazení zbývající částky do dopravy zdarma v košíku a v pokladně? Booster pro WC to má, ale bere to data o poštovném zdarma jen z doručovací metody – Doručení zdarma, která se ale nepoužívá (máme zásilkovnu a ČP přes České služby+nastavení dopravy zdarma).

    Něco jako “Nakupte ještě za %s a máte dopravu zdarma!” Protože máme u CZ i SK jinou měnu, tak kdyby se to dalo nastavit na úrovni jednotlivé doručovací metody, jako nyní ceny za poštovné, bylo by to skvělé a také by se to hodně využívalo.

    #38122

    admin
    Keymaster
    Web

    @n3s4: Díky :-) Popisovanou funkci s upozorněním na levnější dopravu mám hned jako první bod v související issue, sám to budu potřebovat pro jeden eshop. Ale řeším, jak by to mělo přesně fungovat a kde by se to mělo zobrazovat.

    Příklad:
    – Česká pošta (nastaveno poštovné 99 Kč, nad 500 Kč jen 49 Kč a nad 1000 Kč zdarma).
    – Zásilkovna (nastaveno poštovné 59, nad 600 Kč zdarma).

    Tak a teď má zákazník v košíku zboží za 400 Kč, na co ho chceme upozornit?
    Že má nakoupit ještě za 100 Kč a poštovné bude jen 49 Kč (Česká pošta, má ji aktuálně zvolenou, třeba je to nastavený defaultní způsob dopravy) nebo že může nakoupit ještě za 200 Kč a u Zásilkovny bude poštovné zdarma? Budeme upozorňovat i na konkurenční způsoby doručení nebo jen na dopravu, kterou má aktuálně zvolenou? Mnoho zákazníků by se třeba klidně přizpůsobilo, aby měli poštovné levnější…
    A budeme to zobrazovat kde? V košíku a na pokladně, klasické upozornění nahoře? Nebo nějakou ikonku k cenám dopravy dole (u nabídky různých způsobů dopravy) s podrobnějším vysvětlením po přejetí kurzorem myši?
    Ještě to bohužel nemám úplně promyšlené :-(

    #38133

    n3s4
    Participant

    Jo, to mě nenapadlo, přemýšlel jsem jen v režimu jednoho poštovného a dopravy zdarma od určité částky… je pravda, že aby to plnilo každou funkci, muselo by to být velice robustní

    #38136

    admin
    Keymaster
    Web

    Jj, asi tak nakonec začnu, že to bude vždy pouze pro zvolený způsob dopravy. A ještě kde tu informaci ideálně zobrazovat? Pro začátek asi klasické barevné upozornění nahoře nebo možná ikonky u způsobů dopravy, nebo možnost volby uživatelem, ještě nevím… Není ani tak problém to naprogramovat, ale spíše vymyslet :-)

    #38162

    n3s4
    Participant

    Co jsem viděl (a jak to mají v boosteru) tak se zobrazuje info box nahoře nad košíkem (woocommerce_before_cart) a/nebo nahoře nad pokladnou (woocommerce_before_checkout).

Aktuálně je na stránce zobrazeno 10 příspěvků - 1. až 10. (z celkem 10)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.