2017-05-01 4 views
1

Ich habe eine Front-End-Form, die dann eine E-Mail an alle Benutzer innerhalb einer bestimmten Benutzerrolle sendet. Es sendet zwar gut, aber in der E-Mail selbst wird der Name des letzten Benutzers (aus der Liste der Benutzer innerhalb der Benutzerrolle) in allen Empfänger-E-Mails gedruckt.Hinzufügen jedes Benutzernamen wp_mail() in WordPress

Ich bin sicher, dass es etwas mit meinem Array und/oder Variable/s zu tun hat, die ich falsch eingerichtet habe. Jede Hilfe wird geschätzt, wie jeder Benutzer eine E-Mail erhält und der korrekte Name für sie ausgedruckt wird!

Hier ist mein Code:

// Get users and their roles. 
$user_args = array(
'role__in' => 'test_role', 
'orderby' => 'user_nicename', 
'order' => 'ASC' 
); 

$users = get_users($user_args); 

$user_name_list = array(); 

foreach ($users as $user) : 
    $user_email_list[] = $user->user_email; 
    $user_name_list[] = $user->display_name; 
endforeach; 

$user_name = $user_name_list; 

// This is part of the code that adds their username to the email content. 
$body = '<p style="margin-bottom: 20px;">Hello ' . $user_name . ',</p>'; 
+0

Antwort: http://stackoverflow.com/questions/43833428/using-a-variable-outside-php-foreach-loop –

Antwort

0

ich den Code geändert haben, können Sie ein Array drucken stattdessen tatsächlich.

// Get users and their roles. 
$user_args = array(
'role__in' => 'test_role', 
'orderby' => 'user_nicename', 
'order' => 'ASC' 
); 

$users = get_users($user_args); 

$user_name_list = array(); 

foreach ($users as $user) : 
    $user_email_list[] = $user->user_email; 
    $user_name_list[] = $user->display_name; 

    $user_info = get_userdata($user-> ID); 
    $username = $user_info->user_login; 
    $first_name = $user_info->first_name; 
    $last_name = $user_info->last_name; 

endforeach; 

$user_name = $user_name_list; 

// This is part of the code that adds their username to the email content. 
$body = '<p style="margin-bottom: 20px;">Hello ' . $user_name . ',</p>'; 

Vielleicht hilft das.

+0

Es hat nicht funktioniert sorry. Meine Array druckt wie folgt aus: Array ( [0] => Person Ein [1] => Person Zwei [2] => Person Drei [3] => Person Vier [4] => Person Fünf ) Mit Ihrem Code bekam ich Person One –

+0

Ich habe den Code aktualisiert, um den Vor- und Nachnamen zu erhalten, aber ich habe nicht erhalten, wenn Sie E-Mails mit allen Benutzerinformationen senden möchten oder nicht? –

Verwandte Themen