“高级自定义字段”分类字段是否支持用户页面?

时间:2015-07-03 08:37:59

标签: wordpress foreach advanced-custom-fields

我有一个用户页面的“分类”自定义字段。我想构建一个由此字段筛选的查询。它适用于普通的查询,但不能用于用户查询,我做错了什么?

<?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.';
}
?>

3 个答案:

答案 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 QueryClass 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(我猜这实际上并不是指水果和苹果),那么这可能就是您没有得到任何结果的解释。