Skip to main content

Remindere email workshop-uri

Plugin-ul poate trimite automat emailuri de reminder participanților înscriși la un workshop, la un interval configurabil înainte de desfășurarea acestuia.

Rândul Remindere email din editorul de workshop: două remindere înainte de workshop (24 h și 2 h), fiecare cu Editează email și Șterge, plus Adaugă reminder

Configurare per workshop​

Fiecare workshop are propria configurație de remindere, accesibilă la Dentisity → Workshop-uri → [Workshop] → Remindere email.

Adăugarea unui reminder​

Apasă + Adaugă reminder: apare un rând nou și se deschide direct editorul de email, cu textul implicit al reminderului.

CâmpDescriere
Înainte de workshop / Dată fixăReminder relativ (ore și minute înainte de începerea workshop-ului) sau la o dată și oră anume
✉ Editează emailulDeschide editorul de email; sub rând vezi subiectul ales
ȘtergeElimină reminderul

Poți adăuga oricâte remindere pentru același workshop (ex.: 72 h, 24 h și 2 h înainte). Reminderele se salvează odată cu workshop-ul (Actualizează workshop); fiecare trebuie să aibă un mesaj.

Editorul de email​

Reminderele folosesc același editor ca emailurile scrise participanților (vezi Emailuri către participanți):

Editorul de email al unui reminder, tab-ul Previzualizare: emailul pentru un participant înscris, cu logo, Bună, Ion!, eticheta Peste 24 ore, titlul workshop-ului și tabelul cu data, ora și locația
  • Subiect și mesaj, cu editor vizual și tab Cod.
  • Inserează date personalizate — datele participantului ([first_name], [participant_name], [pass_name]…) și ale workshop-ului ([workshop_name], [workshop_date], [workshop_time], [workshop_location], [workshop_room], [workshop_details], [lector_names], [lector_cards], [sponsor_names], [sponsor_cards]), completate pentru fiecare înscris la trimitere.
  • Inserează template implicit — înlocuiește textul cu emailul implicit al reminderului (îți cere confirmare).
  • Șabloane ▾ — încarcă un șablon pentru remindere (sau unul marcat „Oriunde”) ori salvează textul de acum ca șablon; vezi Șabloane.
  • Previzualizare — emailul exact cum îl primește fiecare înscris (săgețile trec de la unul la altul); Trimite-mi un test ți-l trimite ție. La un workshop pe care abia îl creezi (încă nesalvat), previzualizarea și testul folosesc ce ai completat deja în formular — titlul, data, orele, sala, lectorii, sponsorii și descrierea — și ți le arată pe numele tău, pentru că nu are încă înscriși.
  • Limbi — bara de deasupra subiectului adaugă versiuni în alte limbi (de exemplu + English, care pornește de la textul implicit în engleză). Fiecare înscris primește reminderul în limba lui, sau în română dacă nu există o versiune în limba lui; sub rând vezi „și în EN”.
  • Salvează — păstrează textul în rând; se salvează definitiv cu workshop-ul.
Remindere scrise înainte de 5.63

Un reminder salvat cu editorul vechi (un document HTML complet, cu propriul antet) se deschide ca cod și se trimite exact cum e. Butonul Înlocuiește cu template-ul nou din editor îl trece pe formatul nou.


Template implicit de email​

Emailul are antetul cu logo și subsolul comune tuturor emailurilor (cu „Reminder workshop” deasupra textului și „Ești înscris la workshopul …” în subsol), iar textul implicit conține:

  • imaginea de copertă a workshop-ului, dacă are;
  • „Bună, [first_name]!”;
  • eticheta de timp — ex. Peste 2 zile, Peste 24 ore, Reminder programat;
  • titlul workshop-ului și tabelul cu data, ora și locația;
  • lectorii și sponsorii, ca carduri ([lector_cards], [sponsor_cards]);
  • „Ne vedem la Dentisity [edition]!” și invitația de a răspunde la email.

Datele workshop-ului se completează la trimitere, în limba fiecărui participant, așa că o schimbare de oră sau de sală ajunge și în reminderele deja scrise. Fiecare reminder trimis apare și în dosarul participantului, la Emailuri trimise.

Subiect implicit​

Format: Dentisity {ediție} — Reminder workshop {interval}: {titlu workshop}


Programarea cron​

Reminderele sunt programate prin WordPress Cron (wp_schedule_single_event). Un singur eveniment cron este creat per reminder per workshop (nu per participant). La ora de declanșare, plugin-ul preia toți membrii actuali ai grupului workshop-ului și trimite emailul către fiecare.

Consecință importantă: participanții înscriși după programarea inițială primesc în continuare reminderele, deoarece lista de destinatari este calculată la momentul trimiterii, nu la momentul programării.

Hook cron​

dentisity_ws_reminder( $ws_id, $hours_before )

Înregistrat cu add_action('dentisity_ws_reminder', 'dentisity_handle_ws_reminder', 10, 2).

Când se (re)programează​

EvenimentAcțiune
Salvare workshop cu date/remindere modificateȘtergere evenimente existente + reprogramare
Salvare workshop fără modificări relevanteNicio acțiune
Cumpărare workshop (prin coș)Reprogramare pentru toți membrii (dacă reminderele nu există deja)
WordPress Cron

WordPress Cron este pseudo-cron: se declanșează la vizitele pe site, nu la ore exacte. Pe site-uri cu trafic redus, reminderele pot fi trimise cu întârziere de câteva minute. Pentru precizie maximă, configurați un cron real pe server:

*/5 * * * * wget -q -O - https://dentisitycongress.ro/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Date stocate​

Toate configurațiile de remindere sunt stocate ca meta pe produsul WooCommerce al workshop-ului:

Meta cheieTipConținut
dentisity_workshop_email_reminderstringyes / no — activat
dentisity_workshop_remindersarrayLista obiectelor {hours, subject, body}

Meta legacy (dentisity_workshop_reminder_hours_list, dentisity_workshop_reminder_hours) sunt citite ca fallback pentru workshop-uri vechi, dar nu mai sunt scrise.


Funcții relevante​

FuncțieRol
dentisity_ws_reminder_default_subject($ws_id, $hours)Generează subiectul implicit
dentisity_ws_reminder_default_body($ws_id, $hours, $user_id)Generează textul implicit (fără antet/subsol, adăugate de dentisity_email_compose())
dentisity_send_workshop_reminder_email($user_id, $ws_id, $hours)Trimite emailul către un utilizator
dentisity_handle_ws_reminder($ws_id, $hours)Handler cron — trimite către toți membrii grupului
dentisity_schedule_ws_reminders($ws_id)Programează evenimentele cron
dentisity_clear_ws_reminders($ws_id)Șterge evenimentele cron existente