Integrarea denumirilor produselor în secțiunea de observații a AWB-ului
#
Acest fragment de cod vă va ajuta să afișați denumirea produselor din comandă pe AWB în secțiunea de observații.
add_filter('curiero_awb_details', function (array $awb_details, $courier_name, WC_Abstract_Order $order): array {
if (
!class_exists(CurieRO_Printing_Bookurier::class)
|| $courier_name !== CurieRO_Printing_Bookurier::$public_name
) {
return $awb_details;
}
$item_details = curiero_extract_order_items_details($order, 'name');
$awb_details['notes'] = $item_details['contents'];
return $awb_details;
}, 10, 3);
Hook nou pentru statusul AWB-ului
#
Am introdus un hook nou care vă permite să actualizați automat statusul unei comenzi, în funcție de statusul livrării.
Acest hook se numește curiero_awb_status_changed
și poate fi folosit, de exemplu, pentru a marca automat o comandă ca Anulată dacă coletul a fost refuzat de client.
Vă oferim un exemplu de cod mai jos. Trebuie să completați exact denumirea statusurilor de livrare pe care le considerați ca fiind refuzuri (ex: pentru Sameday și DPD, vedeți liniile din cod marcate).
De asemenea, dacă aveți un status personalizat pentru comenzile anulate, înlocuiți linia $status = 'cancelled';
cu denumirea statusului folosit de dumneavoastră.
add_action('curiero_awb_status_changed', function ($public_name, $order, $awb, $response) {
$refusal_statuses = [
'generic' => ['Refuzat'],
'Bookurier' => ['17'],
'DPD' => ['Expedierea ta a fost refuzată.'],
'ExpressCourier' => ['Refuz primire destinatar'],
'FanCourier' => ['6', 'S6'],
'Sameday'=> [
'Refusal of receipt',
'Order refused by recipient'
]
];
if( isset($refusal_statuses[$public_name]) &&
in_array($response, $refusal_statuses[$public_name])
) {
$status = 'cancelled';
$order->update_status($status, 'Livrarea a fost refuzată.');
}
}, 10, 4);