WooCommerce

Jak ve WooCommerce deaktivovat určitý způsob platby pro vybranou dopravu

Autor příspěvku Tomáš Cirkl

Existuje spousta důvodů proč chtít deaktivovat specifickou platební metodu pro vybranou dopravu ve WooCommerce. V tomto článku si ukážeme, jak toho pomocí malého snippetu dokázat.

Poznámka: Tento způsob se hodí především při práci s Bankovním převodem, u kterého chybí možnost nastavení povolené dopravy.

Pro příklad ukážu, jak deaktivovat možnost platby Bankovním převodem pro Místní vyzvednutí. Ať už to budete upravovat pro jakoukoliv platební metodu nebo doručení, vždy budete potřebovat znát jejich ID.

Získání ID platební metody

ID platební metody získáte tak, že se přihlásíte do WordPress administrace a v levém menu vyberete WooCommerce -> Nastavení a ze záložky pak Pokladna. Zde si rozkliknete vybranou platební metodu. Nyní se podíváte na URL a na konci je &section=idplatebnimetody.

V našem příkladě u Bankovního převodu je zde &section=bacs. ID je tedy “bacs”.

Získání ID dopravy

Zde je to trochu složitější. Od verze WooCommerce 2.6+ se to změnilo a sledováním parametru v URL se již ID nedozvíte. Místo toho musíte jít na stránku Pokladny a pomocí Průzkumníka nebo zdrojového kódu najít ID dopravy.

ID je hodnota value u dané dopravy. V naše příkladu je to local_pickup:2.

ID dopravy

Když nyní víme všechno potřebné, stačí do functions.php v šabloně (ideálně child šabloně) vložit kód. Nezapomeňte však upravit ID. ID dopravy se nachází na řádku 9 a ID platební metody je na řádku 12.

Nyní jen vše uložte a můžete otestovat, zda se již vybraná platební metoda skrývá při výběru určité dopravy.

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.

6 komentářů

  • Ahoj, nějak se ti tam rozhodilo formátování a háže to chybu. V 6. řádku máš: “$chosen_shipping_rates = WC()->session->get( ‘chosen_shipping_methods’ );”
    Správně by mělo být:
    $chosen_shipping_rates = WC()->session->get( ‘chosen_shipping_methods’ );

    Jinak díky a ať se daří!

  • Dobrý den, děkuji za skvělou radu, funguje to 🙂 při osobním vyzvednutí se nezobrazuje bankovní převod. Ale ještě bych potřebovala vyřešit 40 Kč (extra charge z pluginu COD), která mi zůstává v dobírce při osobním vyzvednutí?

Zanechat komentář

Získejte více informací o WordPress!

Připojte se k více než tisíci odběratelů 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!