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 關注
- 146 瀏覽
添加回答
舉報