如何通过此代码检索在 WordPress 中具有特定角色的用户的电子邮件地址

How to retrieve email addressess of users with specific role in WordPress through this code

借助这段代码,我能够检索 WordPress 中所有用户的电子邮件地址:

<?php
$users = get_users();
foreach ($users as $user ) { 
$email = get_user_meta($user->ID, "email", true);
?>

我想通过修改以上代码来检索仅具有订阅者角色(slug = 订阅者)的用户的电子邮件地址。

请指教

你可以试试这个代码:

<?php
$users = get_users();
foreach ($users as $user ) { 
    if ( in_array( 'subscriber', (array) $user->roles ) ) {
        $email = get_user_meta($user->ID, "email", true);
    }
}
?>

get_users()允许您按特定角色查询:

$users = get_users( array( 'role' => 'subscriber' ) );
foreach ( $users as $user ) { 
   $email = get_user_meta($user->ID, "email", true);
   echo $email;
}

我喜欢使用get_users() and wp_list_pluck()的组合。它看起来像这样:

$users = get_users( array( 'role' => 'subscriber' ) );
if( ! empty( $users ) ) {
    $emails = wp_list_pluck( $users, 'user_email' );
}