Sari la conținut
WEBLURE

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

Vrei să ți-o facem noi?

Doar două câmpuri. Răspundem în aceeași zi lucrătoare, cu ofertă fixă.

+ Telefon și detalii (opțional)

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

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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ă.
  6. 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.
  7. 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)

php
function 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.

Nu vrei să te complici sau ai rămas blocat? Scrie-ne și o facem noi.

Scrie-ne pe WhatsAppCere ofertă

Mai multe detalii

Cauze frecvente și greșeli de evitatDacă pașii de mai sus nu au rezolvat problema
1

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.

2

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.

3

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ă