A PHP snippet for Conditional Multi-Language Email Templates Using wp_mail.
function send_customized_multilingual_email($user_id, $subject, $template_en, $template_es) {
// Get the user's preferred language (assuming it's stored in user meta).
$user_language = get_user_meta($user_id, 'preferred_language', true) ?: 'en';
// Set email content based on language.
$message = ($user_language === 'es') ? $template_es : $template_en;
// Prepare email headers.
$headers = array('Content-Type: text/html; charset=UTF-8');
// Get user email.
$user = get_user_by('ID', $user_id);
if ($user) {
wp_mail($user->user_email, $subject, $message, $headers);
}
}
// Example usage:
$user_id = 2; // Replace with actual user ID.
$subject = 'Welcome!';
$template_en = 'Hello! Thanks for joining our community!';
$template_es = '¡Hola! ¡Gracias por unirte a nuestra comunidad!';
send_customized_multilingual_email($user_id, $subject, $template_en, $template_es);