WPML
wpml_switch_language_for_email
Type
action
Version de WPML
3.2.0

Description

Ce hook d’action bascule la langue de vos e-mails vers la langue préférée de l’utilisateur. C’est utile lorsque vous devez envoyer des e-mails dans différentes langues. Assurez-vous de réinitialiser la langue en utilisant wpml_restore_language_from_email. Consultez également la documentation détaillée : Envoyer des e-mails avec WPML.

Si l’e-mail indiqué n’est pas enregistré, rien ne se passera.

Ces changements s’imbriquent. Depuis WPML 5.0, chaque appel à cette action ouvre une portée de langue, et chaque appel à wpml_restore_language_from_email ferme la dernière portée encore ouverte. Appelez la restauration une fois pour chaque changement. Placez-la dans un bloc finally, afin qu’elle s’exécute également lorsque votre code lève une exception. Si vous laissez une portée ouverte, le reste de la requête s’exécute dans la langue du destinataire.

Arguments

$email (string) L’e-mail de l’utilisateur.

Exemple d’utilisation

Exemple
Envoyez un e-mail à tous les utilisateurs dans leur langue.
$all_users = get_users();

foreach( $all_users as $user ) {
	// Switch language to user language.
	do_action('wpml_switch_language_for_email', $user->user_email );

	$subject = __('Hello, World!', 'text-domain');
	$message = __('This is our newsletter', 'text-domain');

	wp_mail( $user->user_email, $subject, $message);

	// Switch language back.
	do_action('wpml_restore_language_from_email');
}

wpml_post_language_details, wpml_restore_language_from_email, wpml_switch_language, wpml_element_language_code, wpml_element_language_details

Les 6 hooks de la catégorie Récupération des informations sur la langue du contenu →