Skip to Content
Frontlane Studio
All Snippets
PHP WordPress November 14, 2024

Conditional Multi-Language Email Templates Using wp_mail

A PHP snippet for Conditional Multi-Language Email Templates Using wp_mail.

WordPress PHP

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);