WooCommerce · Reguli de livrare
WooCommerce: afișarea termenului estimat de livrare pe produs
Clientul vrea să știe înainte de coș când primește coletul. Afișezi un termen realist pe produs, calculat în zile lucrătoare, cu reguli diferite pentru produsele în stoc și cele la comandă.
- Zile lucrătoare
- Ora limită de comandă
- Produse în stoc vs la comandă
- Sărbători
- Termen realist
Răspuns în aceeași zi lucrătoare Ofertă fixă Fără parole
Răspuns rapid
Calculezi data estimată adunând zile lucrătoare (fără sâmbătă, duminică și sărbători) la data comenzii, cu ora limită pentru expediere în aceeași zi, apoi o afișezi pe pagina produsului cu hook-ul woocommerce_single_product_summary. Pentru produsele la comandă sau fără stoc folosești un termen separat. Sărbătorile mobile (Paștele ortodox) nu se pot calcula cu o regulă fixă, deci se actualizează anual.
Ce ai nevoie
- Timpul tău de procesare și timpul curierului
- Ora limită pentru expediere în aceeași zi
- Lista zilelor nelucrătoare
- Acces la tema copil
Pașii, pe rând
- 1Stabilește componentele termenuluiProcesare (ore sau zile până predai coletul curierului) plus timpul curierului (de obicei exprimat în zile lucrătoare). Folosește un interval, nu o promisiune exactă (de exemplu 2–4 zile lucrătoare).
- 2Fixează ora limităComenzile plasate înainte de o anumită oră (de exemplu 14:00) pleacă în aceeași zi; cele de după, în ziua lucrătoare următoare.
- 3Tratează separat produsele la comandăPentru produse fără stoc sau la comandă afișezi alt termen (de exemplu 7–10 zile lucrătoare), pe baza stării stocului.
- 4Calculează în zile lucrătoareSari peste sâmbătă, duminică și sărbătorile legale. Sărbătorile fixe le pui într-o listă; cele mobile (Paștele ortodox) le actualizezi în fiecare an.
- 5Afișează pe pagina produsuluiCu woocommerce_single_product_summary (prioritate după preț) afișezi un mesaj scurt, vizibil lângă butonul de cumpărare. Folosește fragmentul de mai jos ca bază.
- 6Repetă termenul în coș și checkoutConsecvența contează: același termen în pagina produsului, în coș și în emailul comenzii, ca să nu apară surprize.
- 7TesteazăComandă înainte și după ora limită, în pragul weekendului și într-o săptămână cu sărbătoare. Verifică și produsele fără stoc.
Termen estimat pe pagina produsului (schelet)
phpfunction wl_adauga_zile_lucratoare(DateTimeImmutable $start, int $zile, array $sarbatori = []) {
$d = $start;
while ($zile > 0) {
$d = $d->modify('+1 day');
$zi_sapt = (int) $d->format('N');
if ($zi_sapt >= 6 || in_array($d->format('Y-m-d'), $sarbatori, true)) {
continue;
}
$zile--;
}
return $d;
}
add_action('woocommerce_single_product_summary', function () {
global $product;
$sarbatori = ['2026-12-01', '2026-12-25', '2026-12-26']; // completează lista anuală
$acum = new DateTimeImmutable('now', wp_timezone());
$start = ((int) $acum->format('G') >= 14) ? $acum->modify('+1 day') : $acum; // ora limită 14:00
$min = $product->is_in_stock() ? 2 : 7;
$max = $product->is_in_stock() ? 4 : 10;
$de = wl_adauga_zile_lucratoare($start, $min, $sarbatori);
$pana = wl_adauga_zile_lucratoare($start, $max, $sarbatori);
printf('<p class="wl-livrare">Livrare estimată: %s – %s</p>', esc_html(wp_date('j M', $de->getTimestamp())), esc_html(wp_date('j M', $pana->getTimestamp())));
}, 25);Fragmentele de cod sunt scheleturi: le adaptezi la magazinul tău și le testezi întâi pe un mediu de test (staging). Intervalele (2–4 și 7–10 zile) și ora limită sunt exemple; le înlocuiești cu cele reale. Termenul afișat e o estimare, nu o garanție.
Mai multe detalii
Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
Termenul afișat nu se respectă
De ce: Procesarea sau curierul durează mai mult decât estimarea sau nu ai ținut cont de sărbători.
Ce faci: Folosește un interval realist și actualizează lista de sărbători în fiecare an.
Produsele la comandă arată același termen
De ce: Codul nu verifică starea stocului.
Ce faci: Separă termenul pe baza is_in_stock() sau a unui câmp personalizat.
Ora afișată diferă de cea reală
De ce: Fusul orar al WordPress nu e setat pe România.
Ce faci: Setează Europa/București în Setări → General și folosește wp_timezone().
Întrebări frecvente4 răspunsuri
Pot afișa termenul și în coș?
Da, cu hook-uri pentru coș sau în metoda de livrare. Păstrează aceeași logică de calcul în toate locurile.
Cum țin cont de Paștele ortodox?
Paștele ortodox e sărbătoare mobilă, deci nu o poți calcula cu o regulă fixă. O pui în lista de sărbători în fiecare an.
Termenul afișat e garantat?
Nu, este o estimare. Formulează-l ca atare („Livrare estimată”) pentru a evita neînțelegerile.
Vă ocupați de implementare?
Da, cu regulile tale de procesare și curier. Cere ofertă.
Subiecte acoperite pe această pagină
- termen estimat livrare produs WooCommerce
- livrare estimată pagina produsului
- zile lucrătoare livrare WooCommerce
- ora limită comandă livrare
- termen livrare produse la comandă
Ghiduri apropiate
- WooCommerce: configurarea costului de transport în funcție de greutate
- WooCommerce: configurarea transportului gratuit peste un prag valoric
- WooCommerce: restricționarea livrării în anumite localități
- WooCommerce: configurarea tarifelor pentru kilometri suplimentari
- WooCommerce: livrare gratuită doar pentru anumite produse
- WooCommerce: configurarea ridicării personale din magazin
- WooCommerce: selectarea datei și intervalului de livrare
- Toate ghidurile
Surse și verificare
Verificat pe 5 noiembrie 2026. Denumirile din setări și pașii pot diferi între versiuni.
