为什么get_pages返回错误的数据而不是我想要的数据?

时间:2018-12-30 16:04:23

标签: php wordpress

我正在构建一个函数,该函数使用get_pages构建一个数组,然后将其转换为json。

一切正常,但是查询使所有帖子都在开发中,而不仅仅是当前查看的开发中的子页面。

我尝试使用WP_Query,但是在后端运行时会出错。

    function data_feed() {


    $i = 0;

    $map_builder = array();

    $args = array(
      'post_type'=> 'developments',
      'child_of' => $post->ID,
    );


    $the_query = get_pages($args);

    foreach ( $the_query as $post_f ) : setup_postdata( $post );


      if($i == 0){ $lat = 50; $long = 50;  } else { $lat = ''; $long = ''; }

      $map_builder[$i] = array(
      'title' => get_the_title($post->ID),
      'excerpt'    =>  get_the_excerpt($post->ID),
      'price' => '9999999',
      'status' => 'available',
      'coords' => array( 'lat' => $lat, 'long' => $long )


      );

      $i++;

    endforeach;

    wp_reset_postdata();


    $jqa = array('map-pin'=> $map_builder + array( 'canvas' => array( 'src' => 'http://localhost/acf-property-manager-app/wp-content/uploads/2018/12/the-avenues-site-plan-new.png', 'width'=> 1000, 'height' => 562 )));

    return json_encode( $jqa );


    }

现在,它返回开发中的所有帖子。

它应该返回的只是当前查看的开发的子帖子。

1 个答案:

答案 0 :(得分:1)

添加:-

global $post;

将正确的ID传递给查询,结果现在是正确的!