0

Хуки и фильтры WC Nova Poshta Shipping PRO

Список хуков

wc_ukr_shipping_send_order_ttn_to_customer

Вызывается перед отправкой накладной на email пользователя. Подключившись к данному хуку вы можете расширить каналы оповещений плагина (например реализовать отправку накладной по СМС).

Использование:

function kirillbdev_send_order_ttn_to_customer($ttn, $order) {
    // $ttn - массив данных о накладной (номер, ref и т.д.)
    // $order - объект WC_Order заказа
}

add_action('wc_ukr_shipping_send_order_ttn_to_customer', 'kirillbdev_send_order_ttn_to_customer', 10, 2);

Список фильтров

wc_ukr_shipping_calculate_shipping_cost

Вызывается после расчета стоимости доставки любого типа (API, фикс., в зависимости от суммы). Подключившись к данному фильтру можно реализовать произвольную логику расчета стоимости (например, в зависимости от веса и т.д.).

Использование:

function kirillbdev_np_calculate_cost($cost) {
    return $cost;
}

add_filter('wc_ukr_shipping_calculate_shipping_cost', 'kirillbdev_np_calculate_cost');

wc_ukr_shipping_get_nova_poshta_translates

Срабатывает при генерации формы доставки на странице оформления заказа. Используя данный фильтр можно реализовать произвольную локализацию строк для любого языка и любого плагина локализации (в блоге есть пример локализации для бесплатной версии Polylang).

Использование:

function kirillbdev_np_translate_fields($fields) {
    /**
    $fields = [
        method_title - название метода доставки,
        block_title - заголовок блока доставки,
        placeholder_area - placeholder выбора населенного пункта,
        placeholder_city - placeholder выбора города,
        placeholder_warehouse - placeholder выбора отделения,
        address_title - текст выбора адресной доставки,
        address_placeholder - placeholder поля ввода адреса (без API),
        settlement_label - заголовок поля поиска населенного пункта,
        settlement_placeholder - placeholder поля поиска населенного пункта,
        street_label - заголовок поля поиска улицы,
        street_placeholder - placeholder поля поиска улицы,
        house_label - заголовок поля номера дома,
        house_placeholder - placeholder поля номера дома,
        flat_label - заголовок поля номера квартиры,
        flat_placeholder - placeholder поля номера квартиры
    ];
    */

    return $fields;
}

add_filter('wc_ukr_shipping_get_nova_poshta_translates', 'kirillbdev_np_translate_fields');

wc_ukr_shipping_pro_get_ttn_recipient_info

Срабатывает при загрузке информации о получателе в форму создания накладных. Используя данный фильтр можно изменить данные получателя (например использовать произвольные поля типа отчество и т.д.).

Использование:

function kirillbdev_get_ttn_recipient_info($data, $order) {
    /**
    $data = [
        firstname - имя,
        lastname - фамилия,
        middlename - отчество,
        phone - телефон,
        email - email
    ];
    */
    
    return $data;
}

add_filter('wc_ukr_shipping_pro_get_ttn_recipient_info', 'kirillbdev_get_ttn_recipient_info', 10, 2);
Записи по теме