2016-04-25 11 views
0

特定のメタキー値が存在する投稿の数をカウントしようとしています。この場合、値が 'soft'のキー 'texture'を持つ投稿「赤」、「青」または「緑」のキー「色」を持っています。複数のメタキー値に基づいて投稿数をカウントする

私のコードは、エラーはありませんが、述べたようにメタキー値を持つだけではなく、もののすべて投稿をカウントするように表示されます。私は間違って何をやっている

$args = array(
    'posts_per_page' => -1, 
    'post_type'   => 'post', 
    'post_status'  => 'publish', 
    'author'   => $current_user_id, 
    'meta_query' => array(
     'key' => 'texture', 
     'value' => 'soft' 
    ), 
    array(
     'key' => 'colours', 
     'value' => array('red', 'blue', 'green') 
    ) 
); 

$posts_query = new WP_Query($args); 
$the_count = $posts_query->post_count; 

echo $the_count; 

乾杯。

'meta_query' => array(
    'relationship' => 'AND', 
    array(
     'key' => 'texture', 
     'value' => 'soft' 
    ), 
    array(
     'key' => 'colours', 
     'value' => array('red', 'blue', 'green'), 
     'compare' => 'IN' 
    ) 
) 

編集#1:たぶん、自分の価値観を中心に%マークを追加すること

このような複数の値('red', 'blue', 'green')を持つメタ配列のmeta_query'relationship' => 'AND''compare' => 'IN'を追加

答えて

1

てみてください問題を解決するだろう、私はそれが動作すると100%ではないが、あなたはそれを試すことができます:

'meta_query' => array(
    'relationship' => 'AND', 
    array(
     'key' => 'texture', 
     'value' => 'soft' 
    ), 
    array(
     'key' => 'colours', 
     'value' => array('%red%', '%blue%', '%green%'), 
     'compare' => 'IN' 
    ) 
) 

私はそれが動作願って、おかげで...

+0

私はその仕事に期待しているだろうが、それはまだ、すべての記事をカウントします。 – user3256143

+0

@ user3256143私の更新された回答を参照してください。 –

+0

はい、私は持っていました - あなたは更新以来それを再び更新していない限り? – user3256143

関連する問題