【发布时间】:2017-05-23 19:21:31
【问题描述】:
借助此代码,我可以检索 WordPress 中所有用户的电子邮件地址:
<?php
$users = get_users();
foreach ($users as $user ) {
$email = get_user_meta($user->ID, "email", true);
?>
我想通过修改上述代码来检索仅具有订阅者角色(slug = 订阅者)的用户的电子邮件地址。
请指教。
【问题讨论】:
借助此代码,我可以检索 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() 和wp_list_pluck()。它看起来像这样:
$users = get_users( array( 'role' => 'subscriber' ) );
if( ! empty( $users ) ) {
$emails = wp_list_pluck( $users, 'user_email' );
}
【讨论】: