Come mostrare la data di spedizione nella pagina del singolo prodotto

Woocommerce

Un buon modo per informare i clienti ed evitare i problemi è mostrare il tempo di consegna / spedizione stimata sulla pagina del singolo prodotto. Sì, potresti farlo manualmente aggiungendo informazioni di spedizione a ciascun prodotto breve descrizione, ma l’obiettivo di Supercode è imparare a automatizzarlo, quindi non dovrai scrivere le cose manualmente.

Questo è fantastico perché se cambi qualcosa nelle regole della tua spedizione, devi solo cambiare lo snippet PHP e non tutte le descrizioni dei prodotti. È molto più flessibile in questo modo.

Scenario:

  • Venerdì/sabato/domenica gli ordini di vengono spediti il lunedì
  • Per altri giorni, se effettuati prima delle 14:00 vengono spediti il giorno stesso
  • Se dopo le 14:00 vengono spediti il giorno dopo
/**
 * @snippet       Come mostrare la data di spedizione nella pagina del singolo prodotto
 * @author        Supercode
 * @testedwith    WooCommerce 7.8
 */

add_action( 'woocommerce_after_add_to_cart_form', 'supercode_dispatch_info_single_product' );

function supercode_dispatch_info_single_product() {
   date_default_timezone_set( 'Europe/London' );

   // Se VEN/SAB/DOM spedisce Lunedì e arriva martedì
   if ( date( 'N' ) >= 5 ) {
      $del_day = date( "Y-m-d", strtotime( "next tuesday" ) );
      $order_by = "Lunedì";
   }

   // SE dopo le 14:00 spedisce domani e arriva il giorno dopo la spedizione
   elseif ( date( 'H' ) >= 14 ) {
      $del_day = date( "Y-m-d", strtotime( "+2 day" ) );
      $order_by = "domani";
   }

   // Se prima delle 14:00 spedisce oggi e arriva domani
   else {
      $del_day = date( "Y-m-d", strtotime( 'tomorrow' ) );
      $order_by = "oggi";
   }

   setlocale(LC_TIME, "it_IT.utf8");
   $del_day =  ucwords(strftime("%d %B", strtotime($del_day)));
   $html = "<div class='woocommerce-message woo-ship-date' style='clear:both'>Ordina entro le ore 14:00 di {$order_by} per riceverlo il {$del_day}.</div>";

   echo $html;
}

Utilizzando questo codice comparirà l’avviso subito sotto il tasto di aggiunta al carrello. Ma c’è una altro modo per mettere questo avviso dove si vuole e cioè utilizzando gli shortcode di wordpress.

Per farlo dovrai eliminare la riga:

add_action( 'woocommerce_after_add_to_cart_form', 'supercode_dispatch_info_single_product' );

E aggiungere:

add_shortcode( 'ship_date', 'supercode_dispatch_info_single_product' );

In questo modo potrai utilizzare lo shortcode [ship_date] per inserire l’avviso dove vuoi all’interno della pagina del singolo prodotto.

Come aggiungere questo codice personalizzato?

Copia e incolla il codice nel file “functions.php” presente nella cartella del tuo tema. Se usi un tema “child” inseriscilo all’interno della cartella del tema “child” e non nella cartella del tema principale.

2 Commenti. Nuovo commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Compila questo campo
Compila questo campo
Inserisci un indirizzo email valido.
Devi accettare i termini per procedere