【发布时间】:2019-04-07 14:36:15
【问题描述】:
我正在尝试查询 WP 用户并按 billing_state(一个自定义元键/值)对它们进行分组,但我得到了一些意想不到的结果,它给了我一些空选项,但每个 @987654330 只返回一个结果@。
基于对 SO 的一些研究,建议我查询所有用户,然后创建一个新数组,在其中我可以将状态设置为数组键,然后将用户对象设置为值。
这是我尝试过的:
add_shortcode('pro_pro_users','pro_pro_users');
function pro_pro_users(){
global $wpdb;
$user_query = new WP_User_Query( array( 'fields' => 'all' ) );
$users = $user_query->get_results();
if (!empty($users)) {
$usersByState = array();
foreach ($users as $user) {
$usersByState[get_user_meta($user->ID, 'billing_state', true)] = $user;
}
foreach ($usersByState as $k => $v){
if(!empty($v)) {
echo '<li><h5>' . $k . '</h5>';
echo '<ul>';
foreach ($v as $user) {
echo '<li><a href="' . get_author_posts_url($user->ID) . '">' . get_user_meta($user->ID, 'first_name', true) . ' ' . get_user_meta($user->ID, 'last_name', true) . ' (' . $user->display_name . ')</a></li>';
}
echo '</ul>';
echo '</li>';
}
}
echo '</ul>';
} else {
echo 'No users found';
}
}
这是正在发生的事情(注意空的,每个州只有一个,尽管我知道其中一些有不止一个
我已经检查过:
https://codex.wordpress.org/Class_Reference/WP_User_Query https://codex.wordpress.org/Database_Description#Table:_wp_users https://codex.wordpress.org/Function_Reference/get_users https://wordpress.stackexchange.com/questions/105937/group-posts-by-meta-key https://wordpress.stackexchange.com/questions/205427/group-posts-by-attachment-meta-key https://usersinsights.com/wordpress-user-meta-query/
【问题讨论】: