2017-07-21 11 views
1

すべてのユーザーがこのクエリで返されている理由を理解できないようです。どんな助けもありがとう。Wordpress get_users()は、比較クエリを使用してすべてのユーザーを返します

function user_main(){ 

    $args = array(
     'meta_key'  => 'profilepicture', 
     'meta_value' => '3', 
     'meta_compare' => '=' 
     ); 

    $query = new WP_Query($args); 

    $blogusers = get_users($query); 

    // Array of WP_User objects. 

    foreach ($blogusers as $user) { 

     $current_meta = get_user_meta($user->ID, 'profilepicture', true); 
     write_log($user->ID . ' ' . $current_meta); 
    } 

} 
+0

あなたは答えを確認しましたか? –

答えて

1

あなたが一つ以上の配列が含まれていますmeta_queryを使用する必要があります。 また、以下のように試してみてください。

$meta_query = new WP_Meta_Query(); 

$meta_query->parse_query_vars(array(
    'meta_key'  => 'profilepicture', 
    'meta_value' => '3', 
    'meta_compare' => '=' 

)); 
+0

ありがとうございます –

+0

@MiguelDey:お手伝いします!! upvote ..を行う! :) – Virb

3

メタキー=>メタ値比較に基づいてユーザーを取得しようとしているためです。だから、以下のようなmeta_queriesを使用する必要があります -

$args = array(
    'meta_query' => array(
     'key'  => 'profilepicture', 
     'value' => '3', 
     'compare' => '=' 
    ) 
); 

$users = get_users($args); 
関連する問題