La release 2.8.0 allinea le date promozione al fuso orario del negozio e aggiunge strumenti admin per evitare errori di pianificazione.
Fuso orario negozio (2.8.0)
- Date inizio/fine campagna interpretate con
wp_timezone()(non UTC implicito). - Avviso in Settings → Global Rules se il fuso WP è UTC/non impostato su un sito live (non staging).
- Fix badge on sale: il prodotto risulta in saldo solo se la promo è attiva e il prezzo community è inferiore al regular.
Dettaglio operativo: Capitolo 2 §2.12.
Pannello Calendario promozione (2.8.0)
- Box nel metabox prodotto con stato live (Programmata / Attiva / Terminata).
- Orari fuso negozio + riferimento UTC; anteprima AJAX mentre modifichi le date.
- Hint Fuso orario del sito sui campi Inizio/Fine.
Dettaglio: Capitolo 3 §3.6.
Fix inclusi (2.7.6–2.7.9)
- Archivio campagna post state machine + backfill quando le date meta sono già state pulite.
- Avviso “Incomplete Configuration” esclude campagne finali.
- Scadenza coupon in My Rewards/ordine; email fine campagna con link My Rewards per utenti registrati.
My Rewards — data stimata premio (2.8.0)
- Stato In elaborazione su ordini pagati: tipo premio + data stimata (Safety Guard o Action Scheduler).
- Avviso in corsivo su possibili ritardi (verifiche, gateway, revisione manuale).
- Fix stato campagna: fine promo all’ora reale (non più fine giornata 23:59:59).
- Email guard-period allineata allo stesso helper.
- Refinement ETA: priorità job
wccp_process_promotion_end; con guard = 0 niente stima mobile «adesso + 1h».
FAQ: Capitolo 9 §9.11 · Merchant: Capitolo 2 §2.13.
Outcome Messaging — messaggi di esito campagna (2.8.0)
Quando una campagna si chiude senza emettere premi, il cliente ora riceve un messaggio contestuale (in My Rewards, nella pagina Ordine e nell’email) che spiega esattamente cosa è successo, al posto del generico «❌ Soglia non raggiunta».
- ❌ Community non raggiunta — quante copie mancavano alla soglia minima, con invito a condividere il link prodotto nelle prossime campagne.
- ❌ Prezzo già ottimale — l’ordine era già al prezzo della soglia massima: il rimborso sarebbe comunque zero. Nessun impatto economico negativo.
- ❌ Chiusura anticipata — la campagna è stata chiusa manualmente prima della scadenza.
- ⛔ Ordine escluso — l’ordine non partecipa al rimborso per un motivo specifico (es. non pagato, annullato, rimborso parziale). Il callout mostra il motivo esatto. Gli ordini esclusi non ricevono l’email di risultato campagna.
Il callout include dati campagna (vendite finali, soglia minima, tier attivo) e una CTA contestuale. Il suggerimento al programma Partner compare solo se il sistema Referral è attivo.
Dettaglio: Cap. 9 §9.11.