Фільтр розрахунку вартості доставки:
add_filter( 'mrkv_calculate_shipping_args', 'mrkv_modify_args_by_slug', 10, 2 );
function mrkv_modify_args_by_slug( $args, $slug ) {
// Example condition
if ( $slug === 'special-product' ) {
$args['custom_key'] = 'custom_value';
}
return $args;
}
Фільтр отримання статусу ТТН:
add_filter( 'mrkv_invoice_statuses_args', 'mrkv_modify_invoice', 10 );
function mrkv_modify_invoice( $args, $slug ) {
// Example condition
if ( $slug === 'special-product' ) {
$args['custom_key'] = 'custom_value';
}
return $args;
}
Додати нові налаштування до будь якого способу доставки:
add_action('mrkv_ua_shipping_settings_page_row', function($ship_key, $section){
// $ship_key - це компанія доставки
// $section - потрібна секція у налаштуваннях, яку ви можете подивитися у шаблонах
}, 10,3 );
Додаткові налаштування у формі створення ТТН:
add_filter('mrkv_ua_shipping_popup_settings', function($settings, $slug)
{
// $slug - це компанія доставки
// $settings - налаштування оброної компанії перевізника
}, 10, 2);
До самої форми можливо додати нові налаштування, як на сторінці налаштувань:
add_action('mrkv_ua_shipping_ttn_create_row', function($ship_key, $section){
// $ship_key - це компанія доставки
// $section - потрібна секція у налаштуваннях, яку ви можете подивитися у шаблонах
}, 10,3 );
Для перевірки нових полів на сторінці налаштувань (серіалізація полів):
add_filter('mrkv_ua_shipping_option_serialize', function($output, $ship_key, $input){
// $output - перевірені поля
// $ship_key - це компанія доставки
// $input - поля зі сторінки налашувань
}, 10, 3);
Фільтр оновлення налаштувань перед створенням ТТН:
add_filter('mrkv_ua_shipping_invoice_settings', function($settings, $order, $ship_key, $type_action)
{
// $settings - налаштування доставки
// $order - об'єкт замовлення
// $ship_key - це компанія доставки
// $type_action - тип створення ТТН (ручне/автоматичне)
}, 10, 4);