Filtry pro vývojáře
Pokud zde nenacházíte filtr nebo akci, kterou byste potřebovali a tak mne kontaktujte s tím, kam a jak byste si ho přáli přidat a ráda tak učiním, aby byly dále aktualizace pluginu bezpečné.
kbnt_mailstep_blocked_statuses_update
Sekce “kbnt_mailstep_blocked_statuses_update”Filtr vrací stavy objednávek, při kterých již není aktualizován stav objednávky na základě dat z Mailstepu.
apply_filters('kbnt_mailstep_blocked_statuses_update', ['completed', 'failed', 'cancelled', 'refunded']);Parametry
Sekce “Parametry”- $statuses (array) Stavy objednávek
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-orders.php.
kbnt_mailstep_cod_payment_methods
Sekce “kbnt_mailstep_cod_payment_methods”Filtr vrací slugy platebních metod, které jsou považovány za dobírku.
apply_filters('kbnt_mailstep_cod_payment_methods', ['cod', 'dobirka']);Parametry
Sekce “Parametry”- $methods (array) Slugy platebních metod považovaných za dobírku.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souborech includes/class-kbnt-mailstep-api.php, includes/class-kbnt-mailstep-orders.php.
kbnt_mailstep_fallback_couriers
Sekce “kbnt_mailstep_fallback_couriers”Umožňuje zavést fallback pro nenastavené kurýry. Přijímá pole s ID WooCommerce doručovací metody jako klíč a ID Mailstep Courier jako hodnotu.
apply_filters('kbnt_mailstep_fallback_couriers', []);Parametry
Sekce “Parametry”- $fallback_couriers (array) WC method_id → Mailstep courier_id.
Příklad použití
Sekce “Příklad použití”add_filter('kbnt_mailstep_fallback_couriers', function(){ return [ "local_pickup" => 123, ];});Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souborech includes/class-kbnt-mailstep-api.php.
kbnt_mailstep_get_order_courier_id
Sekce “kbnt_mailstep_get_order_courier_id”Umožňuje upravovat Courier ID.
apply_filters('kbnt_mailstep_get_order_courier_id', get_option('wc_kbnt_mailstep_settings_shipping_' . $shipping_method->get_method_id() . ':' . $shipping_method->get_instance_id(), false), $order, $shipping_method->get_method_id(), $shipping_method->get_instance_id());Parametry
Sekce “Parametry”- $courier_id (int) Courier ID (podle nastavení Kybernaut Mailstep).
- $order (WC_Order) Objednávka.
- $method_id (string) ID doručovací metody.
- $instance_id (string) ID instance doručovací metody.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souborech includes/class-kbnt-mailstep-api.php.
kbnt_mailstep_order_set
Sekce “kbnt_mailstep_order_set”Filtr vrací jednotlivé parametry odesílané do Mailstepu a umožňuje vývojářům je upravovat.
apply_filters('kbnt_mailstep_order_set', $parameters, $order);Parametry
Sekce “Parametry”- $parameters (array) Jednotlivé parametry odesílané do Mailstepu.
- $order (WC_Order) Objednávka.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-api.php.
kbnt_mailstep_sync_excluded_store_ids
Sekce “kbnt_mailstep_sync_excluded_store_ids”Filtr umožní vyloučit sklady ze synchronizace stavu skladu z Mailstepu. Store IDs zjistíte buď od Mailstepu, nebo v logu. Po změně úpravě vysypte synchronizační cache.
apply_filters('kbnt_mailstep_sync_excluded_store_ids', []);Parametry
Sekce “Parametry”- $exluded_store_ids (array) Seznam ID skladu (string).
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_sync_inventory_products_per_sync
Sekce “kbnt_mailstep_sync_inventory_products_per_sync”Filtr vrací jednotlivé kolik produktů je synchronizováno se stavem skladu v Mailstepu najednou.
apply_filters('kbnt_mailstep_sync_inventory_products_per_sync', 300);Parametry
Sekce “Parametry”- $products_per_sync (int) Počet produktů synchronizovaných najednou.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_sync_inventory_recurrence
Sekce “kbnt_mailstep_sync_inventory_recurrence”Filtr umožní nastavit, jak často se bude automatická synchronizace skladu spouštět. Po změně vypněte a zapněte synchronizaci skladu ať dojde k přeplánování.
apply_filters('kbnt_mailstep_sync_inventory_recurrence', 'hourly');Parametry
Sekce “Parametry”- $recurrence (string) Jak často se má událost následně opakovat. Přípustné hodnoty naleznete v příkazu wp_get_schedules().
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_sync_only_store_id
Sekce “kbnt_mailstep_sync_only_store_id”Filtr umožní vybrat jeden sklad, který bude vybrán pro synchronizaci stavu skladu z Mailstepu. Store ID zjistíte buď od Mailstepu, nebo v logu. Po změně úpravě vysypte synchronizační cache.
apply_filters('kbnt_mailstep_sync_only_store_id', "")Parametry
Sekce “Parametry”- $store_id (string) ID skladu.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_unreleased_stock_order_statuses
Sekce “kbnt_mailstep_unreleased_stock_order_statuses”Toto nastavení umožní práci se „zablokovaným“ skladem, tj. přičte zboží nevyskladněné Mailstepem ke stavu skladu na e-shopu a zabrání tak umělému navyšování skladu. Standardně obsahuje „Čeká na platbu“ (Pending), „Čeká na zpracování“ (On hold) a „Mailstep – chybně zadáno“, ale můžete je takto upravit. Po úpravě je nutné vysypat mezipaměť skladu.
apply_filters('kbnt_mailstep_unreleased_stock_order_statuses', ['wc-pending', 'wc-inputerror', 'wc-on-hold']);Parametry
Sekce “Parametry”- $statuses (array) Stavy objednávek
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_skip_order_item
Sekce “kbnt_mailstep_skip_order_item”Filtr umožňuje přeskočit položku objednávky (produkt), aby nebyla odeslána do Mailstepu. Vraťte true pro přeskočení dané položky. Využívá ho např. integrace WooCommerce Product Bundles k vynechání nadřazeného produktu sady.
apply_filters('kbnt_mailstep_skip_order_item', false, $product);Parametry
Sekce “Parametry”- $skip (bool) Zda položku přeskočit (výchozí
false). - $product (WC_Product) Produkt položky objednávky.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-api.php.
kbnt_mailstep_api_timeout
Sekce “kbnt_mailstep_api_timeout”Filtr nastavuje časový limit (v sekundách) pro požadavky na Mailstep API.
apply_filters('kbnt_mailstep_api_timeout', 90);Parametry
Sekce “Parametry”- $timeout (int) Časový limit v sekundách (výchozí
90).
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-api.php.
kbnt_mailstep_get_order_id_from_order_number
Sekce “kbnt_mailstep_get_order_id_from_order_number”Filtr umožňuje upravit, jak se z čísla objednávky v Mailstepu dohledá ID objednávky ve WooCommerce – užitečné při vlastním číslování objednávek.
apply_filters('kbnt_mailstep_get_order_id_from_order_number', $order_id, $order_number);Parametry
Sekce “Parametry”- $order_id (int|false) Dohledané ID objednávky.
- $order_number (string) Číslo objednávky z Mailstepu.
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/admin/wc-tools.php.
kbnt_mailstep_status_lookback_days
Sekce “kbnt_mailstep_status_lookback_days”Filtr určuje, kolik dní zpětně se při stahování stavů objednávek z Mailstepu prohledává (Mailstep umožňuje filtrovat pouze podle data). Výchozí hodnota je 30 dní; akce „Mailstep – vynutit aktualizaci stavu objednávky“ je u starších objednávek skrytá.
apply_filters('kbnt_mailstep_status_lookback_days', 30);Parametry
Sekce “Parametry”- $days (int) Počet dní zpětně (výchozí
30).
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru kybernaut-mailstep.php.
kbnt_mailstep_allowed_product_statuses
Sekce “kbnt_mailstep_allowed_product_statuses”Filtr vrací stavy produktů, které jsou zahrnuty do dotazů na produkty (např. při synchronizaci skladu).
apply_filters('kbnt_mailstep_allowed_product_statuses', ['publish', 'draft', 'private']);Parametry
Sekce “Parametry”- $statuses (array) Stavy produktů (výchozí
publish,draft,private).
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/class-kbnt-mailstep-products.php.
kbnt_mailstep_order_failed_to_send_notification_recipient
Sekce “kbnt_mailstep_order_failed_to_send_notification_recipient”Filtr vrací příjemce e-mailového upozornění pro administrátora, které se odesílá, když se objednávku nepodaří odeslat do Mailstepu.
apply_filters('kbnt_mailstep_order_failed_to_send_notification_recipient', [get_option('admin_email')]);Parametry
Sekce “Parametry”- $recipients (array) Pole e-mailových adres (výchozí e-mail administrátora).
Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru includes/add-order-status.php.
kbnt_mailstep_order_statuses_pairs
Sekce “kbnt_mailstep_order_statuses_pairs”Filtr vrací párování číselných stavů z Mailstepu (0–14) na slugy stavů objednávek ve WooCommerce.
apply_filters('kbnt_mailstep_order_statuses_pairs', $statuses);Parametry
Sekce “Parametry”- $statuses (array) Pole ve tvaru Mailstep ID → slug stavu WooCommerce.
Příklad použití
Sekce “Příklad použití”add_filter('kbnt_mailstep_order_statuses_pairs', function ($statuses) { $keep_statuses = ['cancelled', 'refunded', 'completed', 'inputerror']; foreach ($statuses as $key => $value) { if (!in_array($value, $keep_statuses)) { unset($statuses[$key]); } } $statuses[4] = 'completed'; return $statuses;});Zdrojový kód
Sekce “Zdrojový kód”Filtr je umístěn v souboru kybernaut-mailstep.php.
Akce pro vývojáře
Sekce “Akce pro vývojáře”Akce (hooky) – následující body umožňují napojit vlastní kód pomocí add_action() na události pluginu.
kbnt_mailstep_status_get_process_order_by_order
Sekce “kbnt_mailstep_status_get_process_order_by_order”Akce se spouští pro každou objednávku při stahování stavů z Mailstepu a je hlavním rozšiřujícím bodem pro zpracování stavu objednávky. Ve výchozím nastavení je na ni napojeno mapování stavů, řízení mezistavu „Na cestě“ a blokování zrušení objednávky (priority 10/20/30).
do_action('kbnt_mailstep_status_get_process_order_by_order', $order, $mailstep_status);Parametry
Sekce “Parametry”- $order (WC_Order) Objednávka.
- $mailstep_status (stdClass) Objekt stavu z Mailstepu.
Příklad použití
Sekce “Příklad použití”add_action('kbnt_mailstep_status_get_process_order_by_order', function ($order, $mailstep_status) { if ((int) $mailstep_status->status_id === 10) { $order->add_order_note('Mailstep status 10 received.'); }}, 40, 2);Zdrojový kód
Sekce “Zdrojový kód”Akce je umístěna v souboru kybernaut-mailstep.php.
kbnt_mailstep_add_tracking_id
Sekce “kbnt_mailstep_add_tracking_id”Akce se spouští se sledovacím číslem zásilky (tracking ID) získaným z Mailstepu, abyste s ním mohli dále pracovat – např. uložit ho k objednávce.
do_action('kbnt_mailstep_add_tracking_id', $tracking_id, $order);Parametry
Sekce “Parametry”- $tracking_id (string) Sledovací číslo zásilky z Mailstepu.
- $order (WC_Order) Objednávka.
Příklad použití
Sekce “Příklad použití”add_action('kbnt_mailstep_add_tracking_id', function ($tracking_id, $order) { if (class_exists('WC_Shipment_Tracking_Api')) { WC_Shipment_Tracking_Api::add_tracking_number($order->get_id(), $tracking_id, 'mailstep', current_time('mysql'), ''); }}, 100, 2);Zdrojový kód
Sekce “Zdrojový kód”Akce je umístěna v souboru includes/class-kbnt-mailstep-orders.php.
kbnt_mailstep_inventory_sync_update_product_stock
Sekce “kbnt_mailstep_inventory_sync_update_product_stock”Akce se spouští pro každý produkt při synchronizaci skladu z Mailstepu (po zjištění změny skladu).
do_action('kbnt_mailstep_inventory_sync_update_product_stock', $product, $new_stock, $parent_id);Parametry
Sekce “Parametry”- $product (WC_Product) Produkt (nebo varianta).
- $new_stock (int) Nový stav skladu.
- $parent_id (int|false) ID nadřazeného produktu u variant, jinak
false.
Příklad použití
Sekce “Příklad použití”add_action('kbnt_mailstep_inventory_sync_update_product_stock', function ($product, $new_stock, $parent_id) { // Custom handling after a product stock update.}, 10, 3);Zdrojový kód
Sekce “Zdrojový kód”Akce je umístěna v souboru includes/class-kbnt-mailstep-inventory-sync.php.
kbnt_mailstep_order_failed_to_send
Sekce “kbnt_mailstep_order_failed_to_send”Akce se spouští, když se objednávku nepodaří odeslat do Mailstepu (např. chyba API nebo žádná odpověď).
do_action('kbnt_mailstep_order_failed_to_send', $order, $error_message);Parametry
Sekce “Parametry”- $order (WC_Order) Objednávka.
- $error_message (string) Popis chyby.
Zdrojový kód
Sekce “Zdrojový kód”Akce je umístěna v souboru includes/class-kbnt-mailstep-api.php.
Pomohla vám tato stránka?
Díky za zpětnou vazbu!
To mě mrzí. Napište mi, co chybělo a jak vám můžu pomoci →