Použití filtrů

Základní informace
Plugin Zásilkovna v současné době obashuje následující filtry:


Každý filtr přijímá tři hodnoty:

  • $cost – aktuální cenu dopravy
  • $country – vybranou zemi
  • $weight – hmotnost položek v košíku

Každá funkce, použitá ve filtru by měla vracet hodnotu $cost. V případě, že chcete dopravu deaktivovat, styčí nastavit $cost na false.

Dynamický filtr

Další filtry

Přiklad omezení Zásilkovny pro produkty, které jsou delší než 50cm:


Příklad navýšení ceny dopravy pro konkrétní produkt:

Doprava zdarma pro Českou Poštu:

Filtr dobirka_is_virtual_product_in_cart

Filtr je součástí platební metody Dobírka v metodě is_virtual_product_in_cart, která vrací false, nebo true, podle toho, zda objednávka obsahuje produkt, který není virtuální. 

Pokud objednávka obsahuje pouze virtuální produkty, Dobírka by se neměla zobrazit, metoda vrátí false. Pomocí filtru můžete změnit výchozí chování.

Definice filtru

return apply_filters( 'woo_doprava_is_virtual_product_in_cart', $has_virtual, $this );

  • $has_virtual – true/false
  • $this – objekt platební metody Dobírka
Filtr zasilkovna_order_number
Filtr je součástí tříd class-zasilkovna-ticket-claim.php a class-zasilkovna-ticket.php.

Přijímá hodnoty $order_number a $order. Slouží k možné úpravě čísla objednávky, které se defaultně zasílá do Zásilkovny.

Definice filtru

$zasilkovna_order_number = apply_filters( 'zasilkovna_order_number', $order_number, $order );

  • $order_number – číslo objednávky
  • $order – objekt objednávky

Filtr zasilkovna_allow_multiple_submissions
Filtr je součástí tříd class-zasilkovna-admin.php a class-zasilkovna-ticket.php.

Jeho jedinou hodnotou je false. Výchozí chování pluginu je, neumožnit odeslání zásilky do Zásilkovny, pokud je již zásilka vytvořena. Pokud vrátíte pomocí filtru true, bude vám umožněno opakované odeslání zásilky.

Definice filtru

apply_filters(‚zasilkovna_allow_multiple_submissions‘, false)

Filtr zasilkovna_filter_id_cost
Filtr je součástí třídy class-shipping-helper.php.

Tento filtr je dynamický a je společný pro více doprav. Jeho funkce je stejná, jako u podpobných filtrů, umožňuje manipulaci s cenou dopravy.

Definice filtru

$cost = apply_filters( ‚zasilkovna_‘.$filter_id.’_cost‘, $cost );

$cost – cena dopravy
Hodnoty proměnné filtr_id

austria-at
germany-de
germany-dpd
de-hermes
fr-colissimo
gb-royal-mail
gb-hermes
hu-nejlevnejsi-doruceni
hungary-hu
dpd-hu
transoflex-hu
su-posta
li-posta
it-gls
pl-nejlevnejsi-doruceni
poland-pl
pl-mail-24
pl-inpost
pl-paczkomaty
slovensko-doruceni
slovenska-posta
express-bratislava
slovensko-kuryr
ro-nejlevnejsi-doruceni
dpd-ro
fan-ro
ro-cargus
gls-sl
dpd-bl
bg-speedy-office
ukrajina-doruceni
ua-nova-posta

Filtr zasilkovna_express_ostrava_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Expresní doručení Ostrava. 

Definice filtru

$cost = apply_filters( 'zasilkovna_express_ostrava_cz_cost', $cost );

  • $cost – cena dopravy
Filtr zasilkovna_express_ostrava_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Expresní doručení Ostrava. 

Definice filtru

$cost = apply_filters( 'zasilkovna_express_ostrava_cz_cost', $cost );

  • $cost – cena dopravy
Filtr zasilkovna_express_praha_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Expresní doručení Praha. 

Definice filtru

$cost = apply_filters( ‚zasilkovna_express_praha_cz_cost‘, $cost );

  • $cost – cena dopravy
Filtr zasilkovna_express_brno_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Expresní doručení Brno. 

Definice filtru

$cost = apply_filters( 'zasilkovna_express_ostrava_cz_cost', $cost );

  • $cost – cena dopravy
Filtr zasilkovna_dpd_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu DPD Česko. 

Definice filtru

$cost = apply_filters( 'zasilkovna_dpd_cz_cost', $cost );

  • $cost – cena dopravy
Filtr cesko_nejlevnejsi_doruceni_shipping_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Zásilkovna nejlevnější doručení na adresu. 

Definice filtru

$cost = apply_filters( 'cesko_nejlevnejsi_doruceni_shipping_cost', $cost );

  • $cost – cena dopravy
Filtr zasilkovna_cp_cz_cost

Filtr je součástí třídy class-zasilkovna-shipping.php. 

Přijímá cenu zásilky a je určen pro dopravu Česká Pošta. 

Definice filtru

$cost = apply_filters( 'zasilkovna_cp_cz_cost', $cost );

  • $cost – cena dopravy
Filtr zasilkovna_shipping_cost

Filtr je součástí třídy class-zasilkovna-shipping.php.

Přijímá cenu zásilky a je společný pro všechny země, které obsahují dopravu na pobočku Zásilkovny.

Definice filtru

$cost = apply_filters( 'zasilkovna_shipping_cost', $cost, $moje_country, $weight );

  • $cost – cena dopravy
  • $weight – celková hmotnost košíku
  • $moje_country – zvolená země doručení

Příklad použití – změna ceny dopravy pokud je v košíku konkrétní produkt.