无法在自定义循环中将所有WP-QUERY结果加载到JSON编码

时间:2018-12-12 21:34:24

标签: php json wordpress

我正在尝试将wp-query结果传递给这样的JSON输出

$isready = "true";
$loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
      $html = '<div class="card px-0">';
        $html .='<div class="row p-1">';
           $html .='<div class="col-4 px-0">'.get_the_title() .'</div>';
        $html .='</div>';
      $html .='</div>'; 
     endwhile;
$response = ["html"=>$html, "isready"=>$isready];
header("Content-Type: application/json");
echo json_encode($response);

问题是在客户端,我只有至少一种自定义帖子类型,而我只收到其中一篇帖子

在Js .done()中,

$('#posts').html(data.html);

但是正如我所说,它只是在页面上添加了一条帖子

1 个答案:

答案 0 :(得分:2)

您的循环每次都会重置$ html,并且只给您最后一个作为结果。

您有:

while ( $loop->have_posts() ) : $loop->the_post();
  $html = '<div...

制作:

$html = "";
while ( $loop->have_posts() ) : $loop->the_post();
  $html .= '<div....