← Цялата документация

BOX NOW за WooCommerce — документация за разработчици

Последна актуализация: 12.09.2026

Плъгинът BOX NOW за WooCommerce предоставя филтри (filters) и действия (actions) за персонализиране, без да се променя кодът на плъгина.

Поставяйте примерите във functions.php на дъщерна тема или в собствен плъгин.

Съвет: филтърът винаги връща стойност; действието само изпълнява код.


Филтри

boxnow_shipping_cost

Променя цената за доставка на BOX NOW, показвана на клиента.

  • Параметри: $fee (float), $package (пакетът на WooCommerce), $result (данни от API), $boxnowoptions (настройки)
  • Връща: $fee
add_filter( 'boxnow_shipping_cost', function ( $fee, $package, $result, $options ) {
    // Пример: безплатна доставка над 100 лв.
    if ( $package['contents_cost'] >= 100 ) {
        return 0;
    }
    return $fee;
}, 10, 4 );

boxnow_delivery_request_payload

Променя данните преди изпращане на заявка за доставка (създаване на пратка) към API на BOX NOW.

  • Параметри: $data (заявката към API), $order (WC_Order)
  • Връща: $data
add_filter( 'boxnow_delivery_request_payload', function ( $data, $order ) {
    $data['comments'] = 'Поръчка #' . $order->get_order_number();
    return $data;
}, 10, 2 );

boxnow_receiver_address_validation

Позволява собствена валидация на данните на получателя.

  • Параметри: $response (масив, напр. ['valid' => true, 'msg' => '']), $data
  • Връща: $response
add_filter( 'boxnow_receiver_address_validation', function ( $response, $data ) {
    if ( empty( $data['phone'] ) ) {
        return array( 'valid' => false, 'msg' => 'Телефонът е задължителен.' );
    }
    return $response;
}, 10, 2 );

boxnow_tracking_url

Променя основния URL за проследяване на пратката.

  • Параметри: $base (текст — базовият URL)
  • Връща: $base
add_filter( 'boxnow_tracking_url', function ( $base ) {
    return 'https://boxnow.bg/track/';
} );

boxnow_geolocation

Включва/изключва геолокацията (намиране на най-близкия автомат по местоположение).

  • Параметри: $enabled (bool)
  • Връща: bool
add_filter( 'boxnow_geolocation', '__return_false' );

boxnow_local_storage

Включва/изключва запомнянето на избрания автомат в браузъра на клиента (localStorage).

  • Параметри: $enabled (bool)
  • Връща: bool
add_filter( 'boxnow_local_storage', '__return_false' );

boxnow_mobile_map_ux

Управлява поведението на картата на мобилни устройства (при false се връща стандартното плъзгане с един пръст).

  • Параметри: $enabled (bool, по подразбиране true)
  • Връща: bool
add_filter( 'boxnow_mobile_map_ux', '__return_false' );

Действия

boxnow_delivery_request_response

Изпълнява се след отговора на заявката за доставка (създаване на пратка).

  • Параметри: $response (отговор от API), $order (WC_Order)
add_action( 'boxnow_delivery_request_response', function ( $response, $order ) {
    // Пример: запиши референтния номер, изпрати известие и т.н.
    error_log( 'BOX NOW отговор за поръчка #' . $order->get_order_number() );
}, 10, 2 );
WooCommerce BOX NOW Delivery plugin

Вижте продукта, условията за поддръжка и актуалната цена.

Към продукта