我早些时候发布了这个问题的一个版本,但在深入挖掘之后,我意识到模板部分与我最初的想法有点不同。我在这里也阅读了类似的问题,但我正在使用的代码的结构与其他示例不太一致。
我使用的主题是定制的,而不是对现有主题的修订。它是由一家机构建造的,我最终在合同结束时采用了它。
ISSUE
我们网站的新闻部分生成一个包含帖子摘录和缩略图的页面。页面底部是分页,链接到额外的帖子页面。问题是,当点击第二页帖子的链接时,URL变为
/page/2
或
/page/3
但显示的内容始终与第1页相同。
UPDATE
安东能够帮助在索引上进行分页,但它在另一个模板——作业上再次出现。我已经包含了
job-list.php
下页。我认为这将是一个类似的修复,但由于模板列出的项目不同,我不知道如何处理它。
模板中的帖子页面为index.php
我已经包括了下面的代码。非常感谢您对资源的任何帮助或指导!
job-list.php
<?php
global $wp_query;
$temp_query_holder = $wp_query;
$job_args = array(\'post_type\' => \'site_job\');
$wp_query = new WP_Query($job_args);
if(have_posts()){ ?>
<div class="job-group">
<?php
while(have_posts()){
the_post();
set_query_var(\'included_post\', $post);
set_query_var(\'last_post\', ($wp_query->current_post == $wp_query->post_count - 1));
get_template_part(\'template-parts/short\', get_post_type());
} ?>
</div>
<?php the_pagination();
}
else {
get_template_part(\'template-parts/content\', \'none\');
} ?>
index.php
<?php
get_header();
$page_id = get_option(\'page_for_posts\');
?>
<div class="header-image-wrapper">
<?php echo SITEPages::header_image_for_page($page_id); ?>
</div>
<section class="primary news-list list-page">
<?php get_template_part(\'template-parts/breadcrumbs\'); ?>
<h1 class="page-title"><?php echo get_the_title($page_id); ?></h1>
<?php $featured_post = get_field(\'featured_news_post\', $page_id);
if(!empty($featured_post)){
set_query_var(\'included_post\', $featured_post);
get_template_part(\'template-parts/short-post-featured\');
} ?>
<div class="post-list">
<?php
$news_query = new WP_Query(array(
\'post__not_in\' => array($featured_post->ID)
));
if($news_query->have_posts()){
foreach($news_query->posts as $i => $news_post){
set_query_var(\'included_post\', $news_post);
set_query_var(\'last_post\', ($news_query->current_post == $news_query->post_count - 1));
get_template_part(\'template-parts/short-post\');
}
the_pagination();
}
else {
get_template_part(\'template-parts/content\', \'none\');
} ?>
</div>
</section>
<?php
get_sidebar();
get_footer();
pagination.php
<?php
$pagination = get_the_posts_pagination(array(
\'prev_next\' => false,
\'end_size\' => 1,
\'before_page_number\' => \'<span class="page-descriptor">Page </span>\'
));
if(!empty($pagination)){ ?>
<div class="pagination-container">
<span class="prev">
<?php previous_posts_link(\'<span class="icon-chevron-left" data-grunticon-embed></span>\'); ?>
</span>
<?php
echo $pagination;
?>
<span class="next">
<?php next_posts_link(\'<span class="icon-chevron-right" data-grunticon-embed></span>\'); ?>
</span>
</div>
<?php } ?>