已经提出了类似的问题,但似乎没有一个适用于我在这里的情况。我在 WP 网站中内置了两种自定义帖子类型。我创建了 single-first_one.php 来捕获每个第一个帖子类型。它工作得很好,我添加的分页也有效。
第二个帖子类型,我创建了 single-second_one.php,在这个“单一”页面上,我显示了当前帖子以及最近的 6 个帖子。除了我的分页链接(在 single-second_one.php 中)之外,一切都按原样显示。该代码几乎与第一个“单一”模板的代码相同,所以我不明白为什么它不起作用。有什么帮助吗?
<?php get_header(); ?>
<h1>Events</h1>
<section id=featured_post>
<?php $paged = (get_query_var('paged') && get_query_var('paged') > 1) ? get_query_var('paged') : 1; ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h5 class=previous><?php previous_post_link('%link'); ?></h5>
<h5 class=next><?php next_post_link('%link'); ?></h5>
<article class="post-<?php the_ID(); ?>">
<div>
<?php if ( has_post_thumbnail()) : ?>
<?php the_post_thumbnail(); ?>
<?php endif; ?>
</div>
<h2><?php the_title(); ?></h2>
<h3><?php the_time('l F j'); ?></h3>
<?php the_content(); ?>
</article>
<?php endwhile; ?>
<?php else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
</section>
<h1>Upcoming Events</h1>
<section id=other_posts>
<?php
$args = array('post_type' => 'event', 'showposts' => 6, 'order' => 'ASC', 'post_status' => 'future');
$loop = new WP_Query($args);
if ( have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();?>
<article class="post-<?php the_ID(); ?>">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<h3><?php the_time('l F j'); ?></h3>
<?php html5wp_excerpt('events_page_listing'); ?>
</article>
<?php endwhile; else: ?>
<?php endif; ?>
</section>
我去了 Options -> Permalinks,缓存了所有内容,取出了调用最近六个帖子的后半部分,完全取出了 single-first_one.php,但没有任何效果。第二个单页上的分页是空的。
编辑
我尝试在 endwhile 之后、endwhile 和 else 之间移动下一个/上一个调用,等等。没有任何效果。这太奇怪了,因为在另一个 single.php 页面上,一切都以完全相同的方式设置,并且完美地显示了下一个/上一个帖子链接。
编辑
我添加了分页参数,但它仍然不起作用。