首先,您不必在single.php.
如果您在上面发布的第一个代码是single.php 然后wordpress会在您打开一篇文章时加载该模板文件。
模板文件的问题是,您正在其中运行另一个查询,而忽略了wordpress为显示单个帖子而运行的全局查询。
要解决此问题,请在single.php, 您应该具备:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ): the_post(); ?>
<h1 class=""><?php the_title(); ?></h1>
<div class="the-date"><p><br><?php the_time(\'F jS, Y\') ?></p></div>
<div class=""><p><?php the_content(); ?></p></div>
<?php endwhile ?>
<?php endif ?>
在侧栏中,您的查询很好,但您还应该调用
wp_reset_postdata()
并通过
the_permalink
作为标记的href属性。
<?php
$recent_args = array(
\'post_type\' => \'post\',
\'posts_per_page\' => 5,
\'offset\' => 1
);
$the_recent = new WP_Query( $recent_args );
if ( $the_recent->have_posts() ) : ?>
<?php while ( $the_recent->have_posts() ) : $the_recent->the_post(); ?>
<div class="more-news">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?> </a>
</div>
<hr>
<?php endwhile ?>
<?php wp_reset_postdata(); ?>
<?php endif ?>