我有一个用户页面的“分类”自定义字段。我想构建一个由此字段筛选的查询。它适用于普通的查询,但不能用于用户查询,我做错了什么?
<?php
$args = array(
'key' => 'fruits',
'value' => 'apple'
);
// The Query
$user_query = new WP_User_Query( $args );
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo $user->display_name;
}
} else {
echo 'No users found.';
}
?>
答案 0 :(得分:0)
试试这个:
$args = array( 'meta_key' => 'fruits', 'meta_value' => 'apple','compare' => '=');
答案 1 :(得分:0)
使用WP_Query而不是WP_User_Query。 WP_User_Query用于从user和usermeta表中检索数据。根据我的理解,您正在从帖子和postmeta表中检索数据。 Class Reference/WP User Query和 Class Reference/WP Query
更新:
试试这个
<?php
$args = array(
'meta_query' => array(
'key' => 'fruits',
'value' => 'apple',
'compare' => '='
)
);
// The Query
$user_query = new WP_User_Query( $args );
// User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
echo $user->display_name;
}
} else {
echo 'No users found.';
}
?>
答案 2 :(得分:0)
请尝试get_users
:
$users = get_users(array(
'meta_key' => 'fruits',
'meta_value' => 'apple'
));
var_export($users);
Wordpress codex:get_users()
经过一些研究后发现get_users()
只是WP_user_query
的包装器,所以切换到这个函数没有任何区别。
但是......您是否注意到我的回答(以及vrajesh&#39;)我们已将key
替换为meta_key
,将value
替换为meta_value
。 ..它们在WP_User_Query
课程中明确定义,所以如果它们没有任何意义我会感到惊讶。
如果您偶然使用原始的$args
(我猜这实际上并不是指水果和苹果),那么这可能就是您没有得到任何结果的解释。