在PHP文件中创建XML文件为空

在PHP文件中创建XML文件为空,php,xml,wordpress,Php,Xml,Wordpress,亲爱的StackOverflow社区,我再次需要你们的帮助 我试图从WordPress自定义查询中传递数据,并创建一个XML文件,最终生成一个带有多个标记的google地图 到目前为止,我已经到达了传递数据并生成xml文件的部分。我已在控制台中查找xml是否已生成且其为空: <markers> <marker name="Array"> <marker name="Array"> <marker name="Array"></ma

亲爱的StackOverflow社区,我再次需要你们的帮助

我试图从WordPress自定义查询中传递数据,并创建一个XML文件,最终生成一个带有多个标记的google地图

到目前为止,我已经到达了传递数据并生成xml文件的部分。我已在控制台中查找xml是否已生成且其为空:

<markers>
 <marker name="Array">
  <marker name="Array">
   <marker name="Array"></marker>
  </marker>
 </marker>
</markers>

我的代码如下所示:

echo "<?xml version='1.0' ?>";
      echo '<markers>';

      $args = array('post_type' => 'investments'); $the_query = new WP_Query( $args );
      while ( $the_query->have_posts() ) : $the_query->the_post(); {} {

        $postsData[$row]['meta'][$i] = get_post_meta( $post->ID, 'investments_location_details', true );
        $postsData[$row]['title'][$i] = [
          'id' => get_the_id(),
          'title' => get_the_title()
        ];

      }

      foreach($postsData as $key => $value) :
        $title = $value['title'];
        $meta = $value['meta'];

        $ind=0;

          echo '<marker ';
          echo 'name="'. $value['title'] . '" ';
          if (isset($meta[$key]['lat']) && is_array($meta[$key]['lat'])) { // merge
              echo 'lat="' . $meta[$key]['lat'] . '" ';
          }
          if (isset($meta[$key]['lng']) && is_array($meta[$key]['lng'])) { // merge
              echo 'lng="' . $meta[$key]['lng'] . '" ';
          }
          echo '/>';

        $ind = $ind + 1;

      endforeach;

      endwhile;
      wp_reset_postdata();

      echo '</markers>';
echo”“;
回声';
$args=array('post_type'=>'investments')$_查询=新的WP_查询($args);
while($the_query->have_posts()):$the_query->the_post();{} {
$postsData[$row]['meta'][$i]=get\u post\u meta($post->ID,'investments\u location\u details',true);
$postsData[$row]['title'][$i]=[
'id'=>获取\u id(),
'title'=>获取标题()
];
}
foreach($key=>$value的postsData):
$title=$value['title'];
$meta=$value['meta'];
$ind=0;
回声';
$ind=$ind+1;
endforeach;
结束时;
wp_reset_postdata();
回声';

我在
$ind=$ind+1之后做了一个var_转储并打印值。它们没有添加到xml文件的原因可能是什么?

每次创建或更新帖子时都会调用save\u post钩子。就这样吧。在那里你可以做一些类似的事情

 fputcsv('/tmp/' . $post_id, $post) or output to XML/JSON.