php 显示使用wp_query的所有用户的列表?

lfapxunr  于 2023-05-16  发布在  PHP
关注(0)|答案(2)|浏览(123)

是否可以使用wp_query创建一个网站的所有WordPress用户及其数据的列表?如果是,如何进行?
我希望能够列出所有的用户(该网站是开放的新注册)和他们的所有细节,如姓名,用户名等,以及一些自定义 meta的,我已经在格式中添加:

function my_user_contactmethods($user_contactmethods) {

$user_contactmethods['Address'] = __('Address');
$user_contactmethods['Website'] = __('Website');
$user_contactmethods['Phone'] = __('Phone');
$user_contactmethods['Nationality'] = __('Nationality');
$user_contactmethods['Registering as'] = __('Registering as');
$user_contactmethods['Submit work'] = __('Submit work?');
$user_contactmethods['Attend'] = __('Attend?');
$user_contactmethods['Volunteer'] = __('Volunteer?');

// etc for each field you want to appear

return $user_contactmethods;

}

或者如果有别的办法我也完全接受。

pcww981p

pcww981p1#

如果您不介意不使用wp_query,那么可以使用get_usersget_user_meta来检索所有用户及其自定义数据的列表。
比如说

<?php
    $blog_id = 1; //blog id
    $str = 'blog_id='.$blog_id;
    $users = get_users($str);
    $list = array();
    $i=0;
    foreach ($users as $user) {
       $list[$i]['id']=$user->ID;
       $list[$i]['email']=$user->email;
       $list[$i]['custom-1']= get_user_meta( $$user->ID, 'custom-1', true );
       $i++;
    }

?>

您可以检索所需的字段。或者您可以添加所有数据并附加自定义字段。

rryofs0p

rryofs0p2#

看起来查询用户的正确方法是使用WP_User_Query。除了foreach循环之外,WP_Query的工作方式似乎非常相似:

<?php
$args = array(
    .
    .
    .
);

// The Query
$user_query = new WP_User_Query( $args );

// User Loop
if ( ! empty( $user_query->get_results() ) ) {
    foreach ( $user_query->get_results() as $user ) {
        echo '<p>' . $user->display_name . '</p>';
    }
} else {
    echo 'No users found.';
}
?>

Here is the full documentation and list of properties available

相关问题