2 回答
TA贡献1804条经验 获得超3个赞
试试这段代码 我已经编辑了你的代码 请看下面
function get_ajax_posts() {
// Query Arguments
$args = array(
'post_type' => array('post'),
'post_status' => array('publish'),
'posts_per_page' => 15,
'order' => 'DESC',
'orderby' => 'date',
);
wp_reset_query();
$ajaxposts = new WP_Query( $args );
$response = '';
if ( $ajaxposts->have_posts() ) {
while ( $ajaxposts->have_posts() ) {
$ajaxposts->the_post();
$response .= get_template_part( 'template-parts/content-archive');
}
} else {
$response .= get_template_part('none');
}
echo $response;
exit; // leave ajax call
}
// Fire AJAX action for both logged in and non-logged in users
add_action('wp_ajax_get_ajax_posts', 'get_ajax_posts');
add_action('wp_ajax_nopriv_get_ajax_posts', 'get_ajax_posts');
如果两个循环数据被覆盖,那么,我的第一个代码wp_reset_query()是不正确的。如果您使用的是WP_Query,那么
wp_reset_postdata() //remove wp_reset_query() which is used for wp_query()
应该在 WHILE 循环结束后使用,这意味着在两个循环中,您必须具有
wp_reset_postdata() // use this at both loops
- 2 回答
- 0 关注
- 117 浏览
添加回答
举报