Visualizza intervallo date di consegna stimate

INFORMAZIONI SULLO SNIPPET

Con questo frammento di codice, puoi aggiungere una funzionalità al tuo negozio online WooCommerce per mostrare ai tuoi clienti l’intervallo di date stimate per la consegna dei loro ordini. Il codice calcola automaticamente la data minima e massima di consegna in base al giorno in cui viene effettuato l’ordine. Puoi personalizzare il codice per adattare i tempi di consegna in base alle tue esigenze specifiche.

Per garantire il corretto funzionamento di questo snippet, è necessario l’utilizzo di un’icona di Font Awesome. Assicurati che siano abilitate sul tuo sito; in caso contrario, utilizza questo frammento di codice.

PHP
/*
* Snippet Name:     Visualizza intervallo date di consegna stimate.
* Snippet Author:   Matteo De Maria
* Version:          1.0.0
*/

add_action( 'woocommerce_after_add_to_cart_button', 'dmm_estimated_delivery' );

function dmm_estimated_delivery() {
    date_default_timezone_set( 'Europe/Rome' );

    // Calcola la data di consegna in base al giorno dell'ordine
    $current_date = strtotime('today');
    $day_of_week = date('N', $current_date);
    
    if ($day_of_week == 1) { // Lunedì
        $delivery_min = strtotime('+2 days', $current_date);
        $delivery_max = strtotime('+3 days', $current_date);
    } elseif ($day_of_week == 2) { // Martedì
        $delivery_min = strtotime('+2 days', $current_date);
        $delivery_max = strtotime('+3 days', $current_date);
    } elseif ($day_of_week == 3) { // Mercoledì
        $delivery_min = strtotime('+2 days', $current_date);
        $delivery_max = strtotime('+5 days', $current_date);
    } elseif ($day_of_week == 4) { // Giovedì
        $delivery_min = strtotime('+4 days', $current_date);
        $delivery_max = strtotime('+5 days', $current_date);
	} elseif ($day_of_week == 5) { // Venerdì
        $delivery_min = strtotime('+4 days', $current_date);
        $delivery_max = strtotime('+5 days', $current_date);
    } elseif ($day_of_week == 6) { // Sabato
        $delivery_min = strtotime('+3 days', $current_date);
        $delivery_max = strtotime('+4 days', $current_date);
    } elseif ($day_of_week == 7) { // Domenica
        $delivery_min = strtotime('+2 days', $current_date);
        $delivery_max = strtotime('+3 days', $current_date);
    } 

    // Formattazione delle date nel formato richiesto
    $del_day_min = date_i18n( 'l j M', $delivery_min );
    $del_day_max = date_i18n( 'l j M', $delivery_max );

    // Converti il testo in minuscolo
    $del_day_min = strtolower($del_day_min);
    $del_day_max = strtolower($del_day_max);

    echo '<div class="estimate-delivery">';
    echo '<i class="fa-solid fa-truck-fast"></i>';
    echo '<span> Ricevilo tra </span>';
    echo '<span><strong>' . $del_day_min . '</strong></span>';
    echo '<span> e </span>';
    echo '<span><strong>' . $del_day_max . '</strong></span>';
    echo '</div>';    
}

Copia il codice nel file functions.php del tuo tema child attivo o utilizza il plugin Code Snippets.

Lascia un commento

I commenti non pertinenti allo snippet o offensivi non verranno approvati.

Se desideri condividere del codice, per favore fallo in questo modo: [php]il tuo codice[/php].

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

DMM WEB DESIGN
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.