如何使用jQuery循环WordPress WP_Query对象?

时间:2014-09-05 17:42:18

标签: javascript php jquery wordpress wp-query

我正在将WP_Query对象传递给我的JavaScript文件中的成功函数,并且在尝试循环它时遇到问题。

我的PHP:

$args = array(
    'post_type'  => 'post'
);
$query = new WP_Query( $args );

// Pass the $query object to the success function in my script.
echo json_encode( $query );

我的成功功能在我的脚本中:

success: function( data ) {
    // I'd like to loop through the query object here.
},...

我知道如何遍历WP_Query对象服务器端:

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        echo get_the_title();
    }
}

但是如何在我的脚本中使用成功函数中的jQuery循环查询对象?

3 个答案:

答案 0 :(得分:1)

尝试迭代迭代:

for(var i in data) {
  if(data.hasOwnProperty(i)) {
    console.log(data[i]);
  }
}

答案 1 :(得分:1)

最好的办法是在jQuery http://api.jquery.com/jquery.getjson/中使用getJSON函数,并像任何其他javascript变量一样循环。

例如

for (var object in data) {
  ....do stuff
}

答案 2 :(得分:1)

我怀疑你是想要返回整个WP_Query对象,还是只想查询结果(posts属性)。我建议的方法是:

$args = array(
    'post_type'  => 'post'
);
$query = new WP_Query( $args );

// Pass the $query object to the success function in my script.
echo json_encode( $query->posts );

...并在jQuery中:

success: function( data ) {
    for(var i in data) {
        var post = data[i];
        // Do something with post object here...
    }
},...