Ces hooks agissent sur les e-mails de HappenBoard. Ils concernent les participants inscrits à un événement, les clients qui prennent rendez-vous, ainsi que l’hôte et l’administrateur prévenus de chaque réservation. Ils permettent de réécrire ou d’annuler un message, de choisir sa langue, de changer le moment des rappels ou de décider qui est prévenu d’une réservation.
Côté réglages, voyez les e-mails automatiques et la langue du participant. Si les hooks sont nouveaux pour vous, commencez par Étendre HappenBoard avec les hooks.
Les e-mails envoyés par HappenBoard
Chaque e-mail a un identifiant de modèle. Cet identifiant termine le nom du filtre qui peut réécrire le message, et il est transmis à happenboard_email_locale.
Les e-mails d’inscription passent par happenboard_notifications_{$template_id} :
| Identifiant | Envoyé quand |
|---|---|
confirmation | Quelqu’un s’inscrit, ou obtient une place libérée sur liste d’attente. Nécessite Send confirmation email on RSVP / ticket purchase. |
reminder | Sa date entre dans le délai de rappel. Nécessite Send reminder email before each event. |
cancellation | Son inscription est annulée : par lui, par un remboursement ou par un administrateur. |
date_changed | Sa date change : l’événement a été modifié, ou un administrateur l’a déplacé sur une autre date. |
date_cancelled | Sa date est annulée, ou ne fait plus partie de la série. |
Les e-mails de réservation passent par happenboard_notifications_booking_{$template_id} :
| Identifiant | Destinataire | Quand |
|---|---|---|
request | Client | Une réservation à valider est reçue. |
confirmation | Client | La réservation est confirmée : tout de suite, à la validation ou au paiement. |
reminder | Client | Avant le rendez-vous, 24 heures et 1 heure avant par défaut. |
cancellation | Client | La réservation est annulée. |
declined | Client | Une demande est refusée. |
payment_failed | Client | La carte bloquée pour une demande n’a pas pu être débitée. |
rescheduled, request_rescheduled | Client | Une réservation, ou une demande, est déplacée. |
operator_request, operator_confirmed, operator_cancelled, operator_rescheduled | Hôte et administrateur | Une demande attend, ou une réservation est confirmée, annulée ou déplacée. Nécessite Email the host and the site admin about bookings. |
Ces réglages se trouvent dans HappenBoard → Settings → Email. Le circuit des demandes est décrit dans Valider les demandes de rendez-vous.
Comment partent les rappels
Les rappels d’inscription viennent d’une seule tâche WP-Cron, happenboard_rsvp_reminder_sweep, lancée toutes les 15 minutes. Chaque passage cherche les dates qui commencent désormais dans le délai de rappel (Send reminder hours before start, 24 par défaut). Il déclenche ensuite happenboard_cron_reminder une fois pour chaque participant toujours inscrit.
L’e-mail de rappel de HappenBoard écoute cette action, tout comme les rappels WhatsApp et MailerPress de HappenBoard Pro. Avant la version 0.2.0, chaque inscription programmait sa propre tâche cron ; le premier balayage après la mise à jour les reprend.
Les rappels de rendez-vous fonctionnent autrement. Chaque réservation confirmée programme ses propres rappels, avec Action Scheduler quand il est installé et WP-Cron sinon, aux heures fixées par happenboard_booking_reminder_offsets.
La langue d’un e-mail
- E-mails d’inscription : la langue de la traduction de l’événement sur laquelle le participant s’est inscrit (WPML ou Polylang), sinon celle du site.
- E-mails de réservation au client : la langue de la page où il a réservé, sinon celle de son profil s’il a un compte, sinon celle du site.
- E-mails de réservation à l’hôte et à l’administrateur : la langue du profil de chaque destinataire.
happenboard_email_localene s’exécute pas pour eux.
happenboard_email_locale peut modifier les deux premiers cas. HappenBoard Pro s’en sert pour lire un champ de langue du formulaire d’inscription.
Déclencheurs MailerPress (Pro)
Les actions happenboard_mp_* n’existent que dans HappenBoard Pro, et ne se déclenchent que si MailerPress est actif et l’intégration MailerPress activée. HappenBoard n’envoie rien sur ces actions : ce sont les déclencheurs sur lesquels vous construisez vos automatisations dans MailerPress. Voir Automatisations MailerPress.
happenboard_email_locale
Filtre la langue dans laquelle un e-mail est rédigé. HappenBoard passe à la locale renvoyée le temps de construire l’objet et le corps du message : un destinataire peut ainsi lire du français sur un site en anglais.
Signature
apply_filters( 'happenboard_email_locale', string $locale, string $template_id, WP_Post|null $event, array<string,mixed> $row )
Paramètres
-
$localestring - La valeur par défaut. E-mails d’inscription : la locale de la traduction de l’événement sur laquelle le participant s’est inscrit (WPML ou Polylang), sinon celle du site. E-mails de réservation : la locale de la page où la réservation a été faite, sinon celle du profil du client s’il a un compte, sinon celle du site.
-
$template_idstring - L’e-mail envoyé. E-mails d’inscription :
confirmation,reminder,cancellation,date_changed,date_cancelled. E-mails de réservation :request,confirmation,reminder,cancellation,declined,payment_failed,rescheduled,request_rescheduled. -
$eventWP_Post|null - L’événement, pour les e-mails d’inscription. Toujours
nullpour les e-mails de réservation. -
$rowarray<string,mixed> - La ligne du participant pour les e-mails d’inscription, celle de la réservation, sans son
cancel_token, pour les e-mails de réservation. Les deux contiennentcustom_fields, où se trouve un éventuel champ de langue.
Valeur de retour
string
Une locale WordPress comme fr_FR. Renvoyez $locale tel quel pour garder la valeur par défaut.
Exemple
add_filter(
'happenboard_email_locale',
function ( $locale, $template_id, $event, $row ) {
// Ligne participant : "email", ligne réservation : "customer_email".
$email = (string) ( $row['email'] ?? $row['customer_email'] ?? '' );
return str_ends_with( $email, '.fr' ) ? 'fr_FR' : $locale;
},
20,
4
);
Remarques
- Quatre arguments : enregistrez avec
10, 4ou une priorité plus tardive, sinon vous ne recevez pas la ligne. Déclenché depuissrc/Service/Notifications/AttendeeNotifier.phpetsrc/Service/Booking/Notifications/BookingNotifier.php. - Ne typez pas
$eventenWP_Post: il vautnullpour les e-mails de réservation. - Les e-mails envoyés à l’hôte et à l’administrateur du site au sujet d’une réservation ne passent pas par ce filtre. Chacun est rédigé dans la langue du profil de son destinataire.
- HappenBoard Pro s’y branche en priorité 10 et renvoie la langue enregistrée dans le champ de langue du participant ou du client (clé
languagepar défaut) quand il y en a une. Le changement de langue ne touche que les textes dont une traduction est installée sur le site.
happenboard_notifications_{$template_id}
Filtre un e-mail d’inscription juste avant son passage à wp_mail(), ou l’annule. Le nom se termine par l’identifiant du modèle : branchez-vous sur le nom complet, par exemple happenboard_notifications_confirmation.
Signature
apply_filters( "happenboard_notifications_{$template_id}", array<string,mixed> $payload, WP_Post $event, array<string,mixed> $attendee )
Paramètres
-
$payloadarray<string,mixed> to,subject,body(HTML),text(version texte),headers(tableau de lignes d’en-tête) etattachments(chemins de fichiers : le fichier agenda de la date surconfirmationetdate_changed).-
$eventWP_Post - L’événement concerné.
-
$attendeearray<string,mixed> - La ligne du participant, avec
attendee_id,status,occurrence_seq(sa date dans une série),quantityetcustom_fields.
Valeur de retour
array<string,mixed>
L’e-mail à envoyer. Ajoutez 'send' => false pour l’annuler.
Exemple
add_filter(
'happenboard_notifications_confirmation',
function ( array $payload, $event = null, $attendee = array() ): array {
$payload['subject'] = '[' . get_bloginfo( 'name' ) . '] ' . $payload['subject'];
$payload['body'] .= '<p>' . esc_html__( 'See you there.', 'my-plugin' ) . '</p>';
// Renvoyez array( 'send' => false ) + $payload pour annuler l'e-mail.
return $payload;
},
40,
3
);
Remarques
- Cinq noms existent :
happenboard_notifications_confirmation(une inscription, ou une place libérée sur liste d’attente),happenboard_notifications_reminder,happenboard_notifications_cancellation,happenboard_notifications_date_changedethappenboard_notifications_date_cancelled. Le tableau en haut de page indique quand chacun part. - Trois arguments : enregistrez avec
10, 3. Un contenu avec'send' => falseannule l’envoi, par exemple quand votre propre service d’e-mail transmet le message. - HappenBoard Pro ajoute le QR code de check-in en priorité 20 et le billet PDF en priorité 30, sur
confirmationetdate_changed. Complétezbodyetattachmentsau lieu de les remplacer, et branchez-vous après 30 pour voir le contenu final. - Gardez chaque entrée de
headerssous forme de chaîne : une entrée d’un autre type peut provoquer une erreur fatale PHP. Supprimerheadersne pose pas de problème. Un en-têteContent-Typeest remplacé partext/html. Le fichier agenda est temporaire et supprimé juste après l’envoi.
happenboard_cron_reminder
Se déclenche quand le rappel d’un participant est dû : une fois par participant et par date, quand la date entre dans le délai de rappel. L’e-mail de rappel de HappenBoard part sur cette action en priorité 10, suivi des rappels WhatsApp et MailerPress de HappenBoard Pro.
Signature
do_action( 'happenboard_cron_reminder', int $attendee_id )
Paramètres
-
$attendee_idint - Le participant à qui envoyer le rappel.
Exemple
add_action(
'happenboard_cron_reminder',
function ( int $attendee_id ): void {
// Un canal à vous, en plus de l'e-mail.
my_send_sms_reminder( $attendee_id );
},
50
);
Remarques
- Un argument. L’action vient du balayage des rappels, une tâche WP-Cron (
happenboard_rsvp_reminder_sweep) lancée toutes les 15 minutes. Un rappel peut donc partir jusqu’à 15 minutes après le délai exact, et plus tard sur un site dont WP-Cron ne tourne qu’aux visites. - L’action ne se déclenche que si « Send reminder email before each event » est activé, et pour un participant toujours inscrit à un événement publié, ni annulé ni reporté. Elle ne part jamais deux fois pour le même participant et la même date, et une personne inscrite après l’heure du rappel n’en reçoit pas.
- Avant HappenBoard 0.2.0, chaque inscription programmait sa propre tâche cron sur ce hook. Le premier balayage après la mise à jour les reprend et les supprime. Appeler vous-même
do_action()sur ce hook n’envoie l’e-mail que si le rappel est dû maintenant et n’est pas encore parti. - Pour supprimer l’e-mail en gardant les rappels WhatsApp et MailerPress de Pro, annulez-le sur
happenboard_notifications_reminder. Retirer le callback de HappenBoard les arrête aussi : ils ne partent que lors du passage qui envoie l’e-mail.
happenboard_booking_email_tokens
Filtre les valeurs qui remplissent un e-mail de réservation, objet compris. Utile pour ajouter une information à chaque e-mail d’une réservation : une salle, un lien de visioconférence, une tenue à prévoir.
Signature
apply_filters( 'happenboard_booking_email_tokens', array<string,string> $tokens, int $booking_id, array<string,mixed> $row )
Paramètres
-
$tokensarray<string,string> - E-mails au client :
display_name,event_title(le type de rendez-vous) etstart_local(date et heure dans le fuseau du client, avec le nom de l’hôte). Puisevent_url,cancel_url(le lien privé du client pour annuler ou déplacer),price,payment_line(ce qui est payé et ce qui reste dû) etpersons(« 2 × Adult, 1 × Child »). Les e-mails à l’hôte et à l’administrateur remplacentcancel_urlparcustomer_email,host_nameetprevious_local. L’heure y est dans le fuseau du site, etevent_urlouvre l’écran des réservations. -
$booking_idint - L’identifiant de la réservation.
-
$rowarray<string,mixed> - La ligne de la réservation, sans son
cancel_token.
Valeur de retour
array<string,string>
Les valeurs. Les modèles n’affichent que les clés ci-dessus : modifiez les valeurs plutôt que d’ajouter des clés.
Exemple
add_filter(
'happenboard_booking_email_tokens',
function ( $tokens, $booking_id, $row ) {
// Le lien de réunion enregistré sur le type de rendez-vous.
$link = (string) get_post_meta( (int) $row['booking_type_id'], 'acme_meeting_link', true );
if ( '' !== $link && '' !== $tokens['start_local'] ) {
$tokens['start_local'] .= ' · ' . $link;
}
return $tokens;
},
10,
3
);
Remarques
- Trois arguments : enregistrez avec
10, 3. Le filtre s’exécute pour chaque e-mail de réservation, au client comme à l’équipe, dans la langue du destinataire : les textes que vous traduisez sortent dans cette langue. - Pour ne modifier que les e-mails de l’équipe, testez
isset( $tokens['customer_email'] ): les e-mails au client n’ont pas cette clé. - Laissez
cancel_urlintact : c’est le lien privé du client. Les valeurs sont échappées à la construction de l’e-mail : renvoyez du texte brut. - HappenBoard Pro ajoute la ressource partagée que la réservation occupe (une salle, une table) à
start_localen priorité 10.
happenboard_notifications_booking_{$template_id}
Filtre un e-mail de réservation juste avant son passage à wp_mail(), ou l’annule. Le nom se termine par l’identifiant du modèle, par exemple happenboard_notifications_booking_confirmation.
Signature
apply_filters( "happenboard_notifications_booking_{$template_id}", array<string,mixed> $payload, int $booking_id, array<string,mixed> $row )
Paramètres
-
$payloadarray<string,mixed> to,subject,body(HTML),text(version texte),headersetattachments(chemins de fichiers : l’invitation agenda surconfirmationetrescheduled, l’invitation qui retire le rendez-vous de l’agenda surcancellation).-
$booking_idint - L’identifiant de la réservation.
-
$rowarray<string,mixed> - La ligne de la réservation, sans son
cancel_token.
Valeur de retour
array<string,mixed>
L’e-mail à envoyer. Ajoutez 'send' => false pour l’annuler.
Exemple
add_filter(
'happenboard_notifications_booking_confirmation',
function ( array $payload, int $booking_id, array $row ): array {
// Mettre l'accueil en copie de chaque confirmation.
$payload['headers'][] = 'Bcc: [email protected]';
return $payload;
},
10,
3
);
Remarques
- Douze identifiants de modèle. Au client :
request,confirmation,reminder,cancellation,declined,payment_failed,rescheduledetrequest_rescheduled. À l’hôte et à l’administrateur :operator_request,operator_confirmed,operator_cancelledetoperator_rescheduled. - Trois arguments : enregistrez avec
10, 3. Un contenu avec'send' => falseannule l’envoi. - Un e-mail à l’équipe passe une fois par destinataire, avec
toréglé sur cette personne et un en-têteReply-Toréglé sur le client. - Un en-tête
Content-Typeest remplacé partext/html, et les en-têtes ou pièces jointes qui ne sont pas des chaînes sont retirés. Les invitations sont des fichiers temporaires, supprimés après l’envoi. Un e-mail vers une adresse effacée à la suite d’une demande RGPD est abandonné avant ce filtre.
happenboard_booking_operator_recipients
Filtre qui reçoit les e-mails côté équipe pour une réservation : par défaut l’hôte de la réservation et l’adresse d’administration du site. Utile pour ajouter un accueil, retirer l’administrateur ou ne garder que certains événements.
Signature
apply_filters( 'happenboard_booking_operator_recipients', array<int,string> $recipients, string $event, int $booking_id, array<string,mixed> $row )
Paramètres
-
$recipientsarray<int,string> - Adresses e-mail : celle du compte de l’hôte et l’option
admin_email, moins la personne qui fait la modification. Vide quand « Email the host and the site admin about bookings » est désactivé. -
$eventstring request(en attente de validation),confirmed,cancelledourescheduled.-
$booking_idint - L’identifiant de la réservation.
-
$rowarray<string,mixed> - La ligne de la réservation, sans son
cancel_token.
Valeur de retour
array<int,string>
Les adresses à prévenir. Les adresses invalides, les doublons et l’adresse du client sont retirés ensuite. Renvoyez un tableau vide pour ne rien envoyer.
Exemple
add_filter(
'happenboard_booking_operator_recipients',
function ( array $recipients, string $event, int $booking_id, array $row ): array {
// L'accueil est prévenu de chaque demande en attente de validation.
if ( 'request' === $event ) {
$recipients[] = '[email protected]';
}
return $recipients;
},
10,
4
);
Remarques
- Quatre arguments : enregistrez avec
10, 4. Le réglage se trouve dans HappenBoard → Settings → Email et il est activé par défaut. - Le filtre s’exécute même quand le réglage est désactivé, avec une liste vide : un callback peut donc ajouter des adresses.
- Personne n’est prévenu d’une modification qu’il a faite lui-même : l’adresse de l’utilisateur connecté est retirée avant le filtre, mais une adresse que vous rajoutez reçoit l’e-mail. Une demande refusée n’envoie aucun e-mail à l’équipe.
- Chaque destinataire reçoit son propre e-mail, dans la langue de son profil quand l’adresse appartient à un compte, via
happenboard_notifications_booking_operator_{$event}.
happenboard_booking_reminder_offsets
Définit combien d’heures avant un rendez-vous partent les e-mails de rappel. Par défaut, deux rappels : 24 heures et 1 heure avant le début.
Signature
apply_filters( 'happenboard_booking_reminder_offsets', array<int,int> $offsets, int $booking_id, array<string,mixed> $row )
Paramètres
-
$offsetsarray<int,int> - Heures avant le début. Par défaut
array( 24, 1 ). -
$booking_idint - L’identifiant de la réservation.
-
$rowarray<string,mixed> - La ligne de la réservation, sans son
cancel_token. Un tableau vide quand les rappels sont effacés, voir les notes.
Valeur de retour
array<int,int>
Des heures entières avant le début du rendez-vous. Un tableau vide désactive les rappels de rendez-vous.
Exemple
add_filter(
'happenboard_booking_reminder_offsets',
function ( array $offsets, int $booking_id, array $row ): array {
// Deux jours avant, la veille et deux heures avant.
return array( 48, 24, 2 );
},
10,
3
);
Remarques
- Trois arguments : enregistrez avec
10, 3. Les valeurs nulles, négatives ou en double sont ignorées, et un rappel prévu dans moins d’une minute est sauté. - Les rappels sont programmés avec la confirmation : à la réservation, à la validation ou au paiement. Un déplacement les efface et les reprogramme. Ils passent par Action Scheduler quand il est installé, sinon par WP-Cron, et ne partent que si la réservation est confirmée ou en attente de paiement.
- Renvoyez toujours la même liste. Sans Action Scheduler, le filtre est rappelé avec un
$rowvide quand les rappels sont effacés (annulation, déplacement) : une liste calculée à partir de$rowlaisserait des rappels orphelins. - L’objet devient « Starting soon » pour un délai de moins de 12 heures. Ce filtre ne concerne que les rendez-vous : les rappels d’inscription suivent « Send reminder hours before start » et déclenchent
happenboard_cron_reminder.
happenboard_mp_rsvp_created
Le déclencheur MailerPress émis quand quelqu’un s’inscrit à un événement. Sert à accueillir le participant, envoyer les informations pratiques ou lancer une séquence avant l’événement.
Signature
do_action( 'happenboard_mp_rsvp_created', array<string,mixed> $ctx )
Paramètres
-
$ctxarray<string,mixed> - Contexte résolu :
user_id,email,first_name,last_name,event_id,event_title,event_url,event_date,venue,quantity.
Exemple
add_action(
'happenboard_mp_rsvp_created',
function ( array $ctx ): void {
// Journaliser chaque inscription transmise à MailerPress.
error_log(
sprintf(
'%s registered for %s (%d seats).',
(string) ( $ctx['email'] ?? '' ),
(string) ( $ctx['event_title'] ?? '' ),
(int) ( $ctx['quantity'] ?? 1 )
)
);
}
);
Remarques
- Un argument. Il suit
happenboard_rsvp_submitteden priorité 20, après l’e-mail de confirmation de HappenBoard en priorité 10. Une inscription placée sur liste d’attente ne déclenche rien avant d’être passée en inscrit, viahappenboard_attendee_status_changed. - Quand la synchronisation des participants est activée, le contact MailerPress est créé ou mis à jour avant l’action : il existe donc quand MailerPress exécute le déclencheur.
- Les commandes payantes déclenchent l’action sous-jacente une fois par ligne de billet : un même paiement Stripe ou une même commande WooCommerce peut donc émettre plusieurs déclencheurs pour le même acheteur.
event_dateest la date du participant (sa date dans une série), en chaîne lisible aux formats de date et d’heure du site.first_nameetlast_nameviennent du nom coupé à son premier espace.
happenboard_mp_rsvp_cancelled
Le déclencheur MailerPress émis quand une inscription est annulée. Sert à une séquence de reconquête ou à demander ce qui n’a pas fonctionné.
Signature
do_action( 'happenboard_mp_rsvp_cancelled', array<string,mixed> $ctx )
Paramètres
-
$ctxarray<string,mixed> - Contexte résolu :
user_id,email,first_name,last_name,event_id,event_title,event_url,event_date,venue,quantity.
Exemple
add_action(
'happenboard_mp_rsvp_cancelled',
function ( array $ctx ): void {
// Étiqueter le contact dans votre propre système.
my_plugin_tag_contact(
(string) ( $ctx['email'] ?? '' ),
'cancelled-' . (int) ( $ctx['event_id'] ?? 0 )
);
}
);
Remarques
- Un argument. Il suit
happenboard_rsvp_cancelleden priorité 20 : le lien d’annulation du participant, mais aussi un remboursement Stripe ou une commande WooCommerce annulée, une fois par ligne de participant. Écoutez directementhappenboard_rsvp_cancelleds’il faut les distinguer. - Un administrateur qui passe le statut à
cancelleddans la liste des participants ne déclenche pas ce hook. - Aucun contact n’est créé ni mis à jour ici : seul le déclencheur d’inscription synchronise les contacts.
- Le contexte est lu après l’annulation :
$ctxdécrit donc une ligne dont le statut est déjàcancelled.
happenboard_mp_checked_in
Le déclencheur MailerPress émis quand un participant passe le check-in à l’entrée.
Signature
do_action( 'happenboard_mp_checked_in', array<string,mixed> $ctx )
Paramètres
-
$ctxarray<string,mixed> - Contexte résolu :
user_id,email,first_name,last_name,event_id,event_title,event_url,event_date,venue,quantity.
Exemple
add_action(
'happenboard_mp_checked_in',
function ( array $ctx ): void {
// Journaliser chaque check-in transmis à MailerPress.
error_log(
sprintf(
'%s checked in at %s.',
(string) ( $ctx['email'] ?? '' ),
(string) ( $ctx['event_title'] ?? '' )
)
);
}
);
Remarques
- Un argument. Il suit
happenboard_pro_attendee_checked_inen priorité 20 : il se déclenche donc aussi quand un billet est scanné une nouvelle fois. - L’identifiant de la ligne de check-in n’est pas dans
$ctx. Branchez-vous surhappenboard_pro_attendee_checked_insi vous en avez besoin. - Il ne se déclenche jamais avec un contexte vide : une ligne de participant illisible ou sans e-mail ne déclenche rien.
happenboard_mp_reminder
Le déclencheur MailerPress émis quand le rappel d’un participant est dû, 24 heures avant sa date par défaut. Sert au message « à demain ».
Signature
do_action( 'happenboard_mp_reminder', array<string,mixed> $ctx )
Paramètres
-
$ctxarray<string,mixed> - Contexte résolu :
user_id,email,first_name,last_name,event_id,event_title,event_url,event_date,venue,quantity.
Exemple
add_action(
'happenboard_mp_reminder',
function ( array $ctx ): void {
// Journaliser chaque rappel transmis à MailerPress.
error_log(
sprintf(
'Reminder due for %s (event %d).',
(string) ( $ctx['email'] ?? '' ),
(int) ( $ctx['event_id'] ?? 0 )
)
);
}
);
Remarques
- Un argument. Il suit
happenboard_cron_reminderen priorité 20 et ne se déclenche que lors du passage qui envoie le rappel de HappenBoard : une fois par participant et par date. - Pas de rappel, pas de déclencheur. Rien ne part si « Send reminder email before each event » est désactivé, pour une inscription tardive, ou pour un événement annulé, reporté ou dépublié.
- Le moment suit le balayage des rappels : dans les 15 minutes qui suivent le délai réglé dans « Send reminder hours before start ».
- Annuler l’e-mail sur
happenboard_notifications_reminderconserve ce déclencheur.
happenboard_mp_post_event_tick
Se déclenche une fois par participant depuis le balayage quotidien d’après-événement. La passerelle MailerPress le transforme en happenboard_mp_post_event. Déclenchez-le vous-même pour renvoyer une relance à un participant.
Signature
do_action( 'happenboard_mp_post_event_tick', int $attendee_id, int $event_id )
Paramètres
-
$attendee_idint - Identifiant de la ligne du participant.
-
$event_idint - L’événement dont une date vient de se terminer.
Exemple
add_action(
'happenboard_mp_post_event_tick',
function ( int $attendee_id, int $event_id ): void {
// Journaliser chaque relance trouvée par le balayage.
error_log(
sprintf(
'Follow-up due for attendee %d of event %d.',
$attendee_id,
$event_id
)
);
},
10,
2
);
Remarques
- Deux arguments : enregistrez avec
10, 2. Contrairement aux autres hookshappenboard_mp_*, il transmet des identifiants, pas le contexte résolu. - Il vient de la tâche WP-Cron quotidienne
happenboard_pro_mp_post_event_scan, qui ne fait rien tant que l’intégration MailerPress est désactivée. - Le balayage retient les dates terminées il y a entre 26 heures et 1 heure, 500 au plus par passage et 1 000 participants par événement. Chaque date d’un événement récurrent compte, tout comme un événement enregistré sans fin. Seuls les participants toujours inscrits produisent un déclenchement, et sur une série seulement ceux de la date terminée.
- Chaque date est notée dans la méta
_happenboard_mp_post_event_firedde l’événement avant le traitement de ses participants : le balayage ne la traite jamais deux fois. Appeler vous-mêmedo_action( 'happenboard_mp_post_event_tick', $attendee_id, $event_id )permet de renvoyer une relance.
happenboard_mp_post_event
Le déclencheur MailerPress émis le lendemain de la fin d’une date d’événement, une fois par participant inscrit à cette date. Sert aux remerciements, aux questionnaires ou à une offre de suivi.
Signature
do_action( 'happenboard_mp_post_event', array<string,mixed> $ctx )
Paramètres
-
$ctxarray<string,mixed> - Contexte résolu :
user_id,email,first_name,last_name,event_id,event_title,event_url,event_date,venue,quantity.
Exemple
add_action(
'happenboard_mp_post_event',
function ( array $ctx ): void {
// Programmer un questionnaire de satisfaction.
my_plugin_queue_survey(
(string) ( $ctx['email'] ?? '' ),
(int) ( $ctx['event_id'] ?? 0 )
);
}
);
Remarques
- Un argument. C’est la version, par la passerelle, de
happenboard_mp_post_event_tick: les mêmes règles s’appliquent, chaque date d’un événement récurrent compte, pour ses propres participants, et seuls les participants toujours inscrits sont retenus. - Le moment dépend de WP-Cron : un site trop peu visité pour lancer ses tâches quotidiennes peut manquer la fenêtre de 26 heures.
happenboard_pro_mailerpress_contact
Filtre le contact MailerPress juste avant que HappenBoard le crée ou le mette à jour, pour ajouter des champs personnalisés, des listes ou votre propre source d’inscription.
Signature
apply_filters( 'happenboard_pro_mailerpress_contact', array<string,mixed> $payload, array<string,mixed> $ctx )
Paramètres
-
$payloadarray<string,mixed> - Les arguments de
add_mailerpress_contact():email,firstName,lastName,subscription_status,lists,custom_fieldsetopt_in_source. -
$ctxarray<string,mixed> - Le même contexte résolu que celui des déclencheurs
happenboard_mp_*.
Valeur de retour
array<string,mixed>
Les arguments passés à add_mailerpress_contact(). Renvoyez le tableau reçu, complété.
Exemple
add_filter(
'happenboard_pro_mailerpress_contact',
function ( array $payload, array $ctx ): array {
// Enregistrer le nombre de places sur le contact.
$payload['custom_fields']['hp_seats'] = (string) ( $ctx['quantity'] ?? 1 );
return $payload;
},
10,
2
);
Remarques
- Deux arguments : enregistrez avec
10, 2. - Il ne s’exécute qu’à l’inscription, et seulement si la synchronisation des participants est activée dans les réglages MailerPress de HappenBoard Pro.
- Gardez les clés existantes,
emailavant tout. Complétezcustom_fieldssans le remplacer :hp_event_title,hp_event_date,hp_event_urlethp_event_venuesont les balises de fusion que les déclencheurs HappenBoard proposent dans MailerPress. subscription_statussuit le réglage d’opt-in (subscribedoupending). Forcersubscribedpasse outre un choix de double opt-in.
Pour aller plus loin
- Hooks prise de rendez-vous : les actions de réservation qui envoient ces e-mails.
- Hooks participants et inscriptions : les actions d’inscription et d’annulation derrière les e-mails aux participants.
- Personnaliser l’apparence des e-mails : couleurs, logo et pied de page de chaque e-mail.