Přeskočit na obsah
English

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']);
  • $statuses (array) Stavy objednávek

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']);
  • $methods (array) Slugy platebních metod považovaných za dobírku.

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', []);
  • $fallback_couriers (array) WC method_id → Mailstep courier_id.
add_filter('kbnt_mailstep_fallback_couriers', function(){
return [
"local_pickup" => 123,
];
});

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());
  • $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.

Filtr je umístěn v souborech includes/class-kbnt-mailstep-api.php.


Filtr vrací jednotlivé parametry odesílané do Mailstepu a umožňuje vývojářům je upravovat.

apply_filters('kbnt_mailstep_order_set', $parameters, $order);
  • $parameters (array) Jednotlivé parametry odesílané do Mailstepu.
  • $order (WC_Order) Objednávka.

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', []);
  • $exluded_store_ids (array) Seznam ID skladu (string).

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);
  • $products_per_sync (int) Počet produktů synchronizovaných najednou.

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');
  • $recurrence (string) Jak často se má událost následně opakovat. Přípustné hodnoty naleznete v příkazu wp_get_schedules().

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', "")
  • $store_id (string) ID skladu.

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']);
  • $statuses (array) Stavy objednávek

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);
  • $skip (bool) Zda položku přeskočit (výchozí false).
  • $product (WC_Product) Produkt položky objednávky.

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);
  • $timeout (int) Časový limit v sekundách (výchozí 90).

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);
  • $order_id (int|false) Dohledané ID objednávky.
  • $order_number (string) Číslo objednávky z Mailstepu.

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);
  • $days (int) Počet dní zpětně (výchozí 30).

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']);
  • $statuses (array) Stavy produktů (výchozí publish, draft, private).

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')]);
  • $recipients (array) Pole e-mailových adres (výchozí e-mail administrátora).

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);
  • $statuses (array) Pole ve tvaru Mailstep ID → slug stavu WooCommerce.
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;
});

Filtr je umístěn v souboru kybernaut-mailstep.php.


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);
  • $order (WC_Order) Objednávka.
  • $mailstep_status (stdClass) Objekt stavu z Mailstepu.
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);

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);
  • $tracking_id (string) Sledovací číslo zásilky z Mailstepu.
  • $order (WC_Order) Objednávka.
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);

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);
  • $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.
add_action('kbnt_mailstep_inventory_sync_update_product_stock', function ($product, $new_stock, $parent_id) {
// Custom handling after a product stock update.
}, 10, 3);

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);
  • $order (WC_Order) Objednávka.
  • $error_message (string) Popis chyby.

Akce je umístěna v souboru includes/class-kbnt-mailstep-api.php.

Pomohla vám tato stránka?