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
$order_by Viene mostrato in inglese
la variabile $order_by viene settata “a mano”, quindi gli si può dare il valore che si vuole.