2016-09-29 9 views
1

私はPHPを使用してwp-queryに取り組んでいます。それぞれを使用して配列内をループする

は、最初に私は私は、値の配列を取得...とにかく、それは問題ではありません、関係でこれ

$artists_ID_array = get_field("page_artiste"); 

(私が使用している高度なカスタムフィールドを使用して、ポストのIDの配列を取得する必要がありますここでは)

は、配列は次のようになります。

配列([0] => 141 [1] => 59)

その後、私の引数を来る:

$videos = get_posts(
    array(
     'post_type' => 'videos', 
     'post__not_in' => array($post->ID), 

      'meta_query' => array(

      array(
       'key' => 'page_artiste', 
       'value' => $artists_ID_array[0], 
       'compare' => 'LIKE' 
      ), 
      array(
       'key' => 'page_artiste', 
       'value' => $artists_ID_array[1], 
       'compare' => 'LIKE' 
      ), 
      array(
       'key' => 'page_artiste', 
       'value' => $artists_ID_array[2], 
       'compare' => 'LIKE' 
      ), 
      array(
       'key' => 'page_artiste', 
       'value' => $artists_ID_array[3], 
       'compare' => 'LIKE' 
      ), 
      array(
       'key' => 'page_artiste', 
       'value' => $artists_ID_array[4], 
       'compare' => 'LIKE' 

など...私のメタクエリでは、私はすべての配列の結果を使用しています。

これはうまく動作します。私は自分が望む投稿を手に入れています。

しかし、私がしようとしていることは、各自のargs "$ artists_ID_array [4]"の中にすべての配列を持つことを避けるために使うことです。ので、ここで

は、私が試したものですが、それは働いていない...と私は理由を理解することはできません...

<?php 

$artists_ID_array = get_field("page_artiste"); 

$videos = array(
     'post_type' => 'videos', 
     'post__not_in' => array($post->ID), 
      'meta_query' => array(

    ) 
); 

foreach($artists_ID_array as $value) { 
    array_push($videos['meta_query'], array(
       'key' => 'page_artiste', 
       'value' => $value, 
       'compare' => 'LIKE' 
    )); 

} 

?> 

誰がこれで私を助けることができますか? は、あなたがmeta_queryは、あなたが「IN」の値を使用することができます比較するので、私は、あなたも、これをさらに簡素化することができると信じて

答えて

1

私の要求を理解してほしい

「IN」は(代わりのようなのは)あなたが値を検索することができます指定された配列内の値のいずれかを返します。

$videos = get_posts(
    array(
    'post_type' => 'videos', 
    'post__not_in' => array($post->ID), 

    'meta_query' => array(

     array(
      'key' => 'page_artiste', 
      'value' => $artists_ID_array, 
      'compare' => 'IN' 
     ) 
    ) 
    ) 
); 

だからあなたget_postsはこのような何かを見ることができます

関連する問題