我有两个显示帖子的循环:“default”循环(在home.php中),它显示five 职位。在页面底部有一个按钮,它调用AJAX调用,调用第二个循环并返回six 新职位。现在我需要第二个循环从第六个帖子开始,就好像这是第一个帖子一样。第二个循环中的每个页面显示六篇文章。
底部代码的问题是,我的AJAX调用从“第二”页获得了六篇文章。但由于只显示了五个帖子,它跳过了帖子。如果我可以更改第二个循环,那么问题也会得到解决,第一个“页面”有五篇文章,其他页面有六篇。
第二个循环代码放在函数中。php和名为loop的模板文件中的第一个。php(使用get\\u template\\u part()将其调用为home。php)。为了清晰起见,我在下面给出了两个循环的代码。
<?php
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'posts_per_page\' => \'5\',
\'paged\' => 1,
);
$blog_posts = new WP_Query( $args );
?>
<?php if ( $blog_posts->have_posts() ) : ?>
<?php while ( $blog_posts->have_posts() ) : $blog_posts->the_post(); ?>
<div class="ambition-home-post-single override">
<div class="ambition-home-post-contents override">
<img class="ambition-home-thumbnail-container override" src="<?php echo the_post_thumbnail_url(); ?>">
<h2><a href=\'<?php the_permalink() ?>\'><?php the_title() ?></a></h2>
<div class="ambition-home-post content override"><?php the_excerpt() ?></div>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
add_action(\'wp_ajax_load_posts_by_ajax\', \'load_posts_by_ajax_callback\');
add_action(\'wp_ajax_nopriv_load_posts_by_ajax\', \'load_posts_by_ajax_callback\');
function load_posts_by_ajax_callback() {
check_ajax_referer(\'load_more_posts\', \'security\');
$paged = $_POST[\'page\'];
$args = array(
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'posts_per_page\' => \'6\',
\'paged\' => $paged,
);
$blog_posts = new WP_Query( $args );
?>
<?php if ( $blog_posts->have_posts() ) : ?>
<?php while ( $blog_posts->have_posts() ) : $blog_posts->the_post();?>
<div class="ambition-home-post-single override">
<div class="ambition-home-post-contents override">
<img class="ambition-home-thumbnail-container override" src="<?php echo the_post_thumbnail_url(); ?>">
<h2><a href=\'<?php the_permalink() ?>\'><?php the_title() ?></a></h2>
<div class="ambition-home-post content override"><?php the_excerpt() ?></div>
</div>
</div>
<?php endwhile; ?>
<?php endif;
wp_die();
}