该网站在vanilla javascript上使用ajax加载更多帖子功能。
Ajax:
postData.append("action", "loadmore");
postData.append("paged", section_posts);
postData.append("posts_per_page", 9);
const xhr = new XMLHttpRequest();
xhr.open("POST", ajaxurl);
xhr.addEventListener("readystatechange", function (data) {
if (this.readyState === 4 && this.status === 200) {
section_posts++;
document.querySelector(".box").innerHTML += data.target.responseText;
} else {}
});
xhr.send(postData);
这是代码操作ajax
function.php
:
function loadmore_get_posts(){
$paged = !empty($_POST[\'paged\']) ? $_POST[\'paged\'] : 1;
$paged++;
$args = array(
\'paged\' => $paged,
\'posts_per_page\' => $_POST[\'posts_per_page\'],
\'post_type\' => \'post\',
\'post_status\' => \'publish\'
);
$data = new WP_Query( $args );
while( $data->have_posts() ) : $data->the_post();
get_template_part( \'templates/...\' );
endwhile;
die;
}
add_action(\'wp_ajax_loadmore\', \'loadmore_get_posts\');
add_action(\'wp_ajax_nopriv_loadmore\', \'loadmore_get_posts\');
此功能运行良好!但我需要对帖子总数设定一个限制。
例如:职位总数为100, 但我需要50 要加载的立柱。
请告诉我如何解决我的问题。I need to make a limit on the total number of posts.
谢谢