WooCommerce · Curieri și AWB
WooCommerce: generarea AWB-urilor în masă
Generezi AWB-urile unul câte unul și pierzi ore. Vezi ce plugin-uri au deja acțiune în masă, ce faci dacă al tău nu o are și cum se construiește una la comandă.
- Verifici dacă pluginul o are deja
- Acțiune în masă personalizată
- Compatibil cu HPOS
- Loturi mari fără timeout
- Erori raportate clar
Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole
Răspuns rapid
Unele plugin-uri de curierat au deja acțiune în masă (modulul oficial Cargus are „Cargus Generate AWB”, iar extensia GLS pentru WooCommerce listează generare în masă), dar pluginul oficial Sameday nu are. Dacă al tău nu o are, adaugi o acțiune în masă personalizată în lista de comenzi (cu hook-urile pentru HPOS și pentru ecranul clasic), care apelează API-ul curierului pentru fiecare comandă selectată și salvează AWB-ul în comandă.
Ce ai nevoie
- Plugin sau API de curier deja conectat
- Acces de administrator și FTP/SFTP sau editor de cod
- Un mediu de test (staging)
- Backup recent
Pașii, pe rând
- 1Verifică dacă pluginul are deja generare în masăÎn WooCommerce → Comenzi selectează două comenzi și deschide meniul „Acțiuni în masă”. Dacă vezi o acțiune a curierului (de exemplu „Cargus Generate AWB”), nu ai nevoie de cod.
- 2Citește limitele pluginuluiDocumentația pluginului Sameday de pe WordPress.org arată că generarea în masă nu e inclusă. La alte plugin-uri, verifică documentația și evaluările înainte să te bazezi pe funcție.
- 3Decide: acțiune în masă sau generare automatăAcțiunea în masă pornește când apeși tu. Generarea automată (la schimbarea statusului comenzii) elimină complet pasul manual, dar cere reguli clare: ce status declanșează AWB-ul și ce faci cu erorile.
- 4Adaugă acțiunea în lista de comenziFolosești filtrele pentru lista de comenzi: bulk_actions-woocommerce_page_wc-orders (HPOS) și bulk_actions-edit-shop_order (ecranul clasic). Cheia acțiunii să nu conțină „mark_”, pentru că WooCommerce are un bug raportat pe HPOS cu astfel de chei.
- 5Procesează comenzile cu verificăriPentru fiecare comandă: sari peste cele care au deja AWB, apelează API-ul curierului, salvează AWB-ul în meta-datele comenzii și adaugă o notă. Numărul de reușite și eșecuri îl afișezi la final, ca să știi ce ai de refăcut.
- 6Împarte loturile mariUn lot de sute de comenzi poate depăși timpul maxim de execuție PHP sau limitele API-ului. Procesează în loturi de 10–20 sau folosește coada Action Scheduler inclusă în WooCommerce.
- 7Tipărește etichetele într-un singur fișierDupă generare, adună PDF-urile etichetelor într-un document unic, ca să le tipărești deodată pe imprimanta termică. Ordinea o păstrezi aceeași cu cea din lista de comenzi.
- 8Testează pe stagingRulează acțiunea pe 3–5 comenzi de test, cu cont de test al curierului, înainte să o activezi pe magazinul live.
Acțiune în masă „Generează AWB” (schelet)
phpadd_filter('bulk_actions-woocommerce_page_wc-orders', 'wl_awb_bulk_actions'); // HPOS
add_filter('bulk_actions-edit-shop_order', 'wl_awb_bulk_actions'); // ecranul clasic
function wl_awb_bulk_actions($actions) {
$actions['wl_generate_awb'] = 'Generează AWB';
return $actions;
}
add_filter('handle_bulk_actions-woocommerce_page_wc-orders', 'wl_awb_bulk_handle', 10, 3);
add_filter('handle_bulk_actions-edit-shop_order', 'wl_awb_bulk_handle', 10, 3);
function wl_awb_bulk_handle($redirect, $action, $ids) {
if ($action !== 'wl_generate_awb') {
return $redirect;
}
$ok = 0;
$fail = 0;
foreach ($ids as $id) {
$order = wc_get_order($id);
if (!$order || $order->get_meta('_wl_awb')) {
continue; // are deja AWB
}
$awb = wl_courier_create_awb($order); // aici apelezi API-ul curierului
if ($awb) {
$order->update_meta_data('_wl_awb', $awb);
$order->add_order_note('AWB generat: ' . $awb);
$order->save();
$ok++;
} else {
$fail++;
}
}
return add_query_arg(['wl_awb_ok' => $ok, 'wl_awb_fail' => $fail], $redirect);
}
add_action('admin_notices', function () {
if (isset($_GET['wl_awb_ok'])) {
printf('<div class="notice notice-info"><p>AWB generate: %d, eșuate: %d.</p></div>', absint($_GET['wl_awb_ok']), absint($_GET['wl_awb_fail'] ?? 0));
}
});Funcția wl_courier_create_awb() este locul unde apelezi API-ul curierului tău (autentificare, date expeditor și destinatar, greutate, ramburs). Fiecare curier are alt format; nu o poți copia fără adaptare. Testează pe staging.
Exemplul de cod este un schelet: nu conține apelul efectiv către curier. Hook-urile pentru lista de comenzi sunt documentate și folosite în tutoriale pentru HPOS, dar un bug WooCommerce raportat face ca acțiunile cu cheia care conține „mark_” să fie ignorate pe HPOS; de aceea cheia din exemplu începe cu „wl_”.
Mai multe detalii
Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
Acțiunea nu apare în meniu
De ce: Folosești hook-ul pentru ecranul clasic, dar magazinul are HPOS activ (sau invers), sau cheia acțiunii conține „mark_”.
Ce faci: Înregistrează ambele hook-uri (HPOS și clasic) și redenumește cheia acțiunii, fără „mark_”.
Lotul se oprește la jumătate
De ce: Timp maxim de execuție PHP depășit sau limită de cereri la API-ul curierului.
Ce faci: Procesează în loturi mici sau prin Action Scheduler și tratează explicit erorile și reîncercările.
Unele comenzi eșuează
De ce: Date lipsă sau nepotrivite (telefon, județ, localitate, greutate zero) fac API-ul să respingă cererea.
Ce faci: Validează datele înainte de apel și salvează motivul eșecului într-o notă a comenzii.
Întrebări frecvente4 răspunsuri
Pluginul Sameday poate genera AWB-uri în masă?
Documentația pluginului oficial arată că generarea în masă nu e inclusă. O poți obține printr-o acțiune personalizată sau o integrare făcută la comandă.
Funcționează și cu HPOS?
Da, dacă înregistrezi filtrele pentru ecranul de comenzi HPOS (woocommerce_page_wc-orders) și folosești API-ul de comenzi WooCommerce (wc_get_order), nu acces direct la tabelul de postări.
Pot genera AWB automat când comanda trece în „În curs de procesare”?
Da, prin hook-ul schimbării de status, cu aceleași verificări (AWB existent, validare date, gestionare erori). E mai riscant decât acțiunea manuală, deci se face cu teste și notificări de eroare.
Cât durează să-l implementați?
Depinde de curier și de cerințe (ramburs, mai multe colete, notificări). Îți dăm o ofertă fixă după ce vedem pluginul și fluxul tău.
Subiecte acoperite pe această pagină
- generare AWB în masă WooCommerce
- AWB în masă Sameday
- acțiune în masă comenzi WooCommerce
- generare AWB automată WooCommerce
- AWB mai multe comenzi
- bulk actions WooCommerce HPOS
Ghiduri apropiate
- WooCommerce: integrare FAN Courier
- WooCommerce: integrare Cargus
- WooCommerce: integrare GLS
- WooCommerce: tipărirea etichetelor AWB pe imprimantă termică
- WooCommerce: AWB-ul nu se generează pentru o comandă
- WooCommerce: transmiterea numărului AWB către client
- WooCommerce: AWB-ul nu se generează pentru o comandă
- WooCommerce: integrare Cargus
- Integrare Sameday cu WooCommerce, făcută complet
- Toate ghidurile
Surse și verificare
- Plugin SamedayCourier Shipping (WordPress.org)
- Modulul oficial Cargus (acțiuni în masă)
- Bug WooCommerce: acțiuni în masă cu prefix mark_ pe HPOS (GitHub)
Verificat pe 4 noiembrie 2026. Denumirile din setări și pașii pot diferi între versiuni.
