获取ID的数组,然后按这些ID查询不同的帖子类型

时间:2016-05-18 05:28:56

标签: php mysql arrays wordpress

我需要一些帮助。我的目标是通过邮政编码数组查询“诊所”的帖子类型。然后获取这些诊所的ID并运行另一个名为“clinicspromo”的帖子类型查询以获得这些结果。然后在循环内部运行查询#3以再次检索与每个诊所促销相关的诊所信息。我已经完成了大部分工作,我只是在转换$ post-> ID的结果时遇到了问题;以逗号分隔的ID数组,就像邮政编码列表一样。任何帮助将不胜感激!

$zipcodelist = '90001, 90002, 90003';

 $args = array(   
'orderby'          => 'post_title',
'order'            => 'DESC', 
'post_type' => 'clinics',
   'meta_query' => array (
        array (
          'key' => 'cliniczipcode',
          'value' => $zipcodelist,
          'compare' => 'IN'
        )
      ) );


  $postlist = get_posts( $args );

  $posts = array();
    foreach ( $postlist as $post ) { 
       $posts[] += $post->ID; 
       }


$current = array_search( get_the_ID(), $posts );  


 $argstwo = array(   
'orderby'          => 'post_title',
'order'            => 'DESC', 
'post_type' => 'clinicpromos',
   'meta_query' => array (
        array (
          'meta_key' => 'assignclinic',
          'meta_value' => $current,
          'compare' => 'IN'
        )
      ) ); 


 $the_query = new WP_Query( $argstwo ); 

2 个答案:

答案 0 :(得分:1)

更改了你的foreach循环:我认为在存储+时你有一个额外的IDs符号。

这是你的循环:

foreach ( $postlist as $post ){
  $posts[] += $post->ID; 
}

将其替换为:

foreach ( $postlist as $post ){
  $posts[] = $post->ID; 
}

答案 1 :(得分:0)

试试这个,你不需要+

foreach ( $postlist as $post ) {

      $posts[] = $post->ID; 
   }