我试图显示一个静态的首页,在底部显示最近的帖子。具体来说,我只想显示最近帖子的一段摘录,如下所示the_content()
如果我有一个动态的头版。到目前为止,我所做的是在头版显示最近的帖子,但它显示的是帖子的完整内容,而不仅仅是摘录。我不想生成自己的摘录,因为我希望它们与类别和归档页面上显示的摘录保持一致。
这是我的(简化版)front-page.php
当前文件:
<?php get_header(); ?>
<?php the_post(); ?>
<!-- This block is modified slightly from page.php -->
<a href="<?php bloginfo(\'url\'); ?>">Home</a> > <?php the_title(); ?>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
<div id="recent_posts">
<h2>Latest entries</h2>
<?php
$recent_posts_query = new WP_Query(array(\'post_type\' => \'post\', \'posts_per_page\' => 5));
while ($recent_posts_query->have_posts())
{
$recent_posts_query->the_post();
?>
<div class="post">
<h3><?php echo the_title(); ?></h3>
<p>by <?php the_author(); ?></p>
<?php the_content(); ?>
</div>
<?php
}
?>
</div>
<?php get_footer(); ?>
我怎样才能
the_content()
只返回摘录?(我的大多数帖子都有
<!--more-->
标记它们,以及那些我不想完整显示的内容,因为它们是短文。)
编辑:尝试使用the_excerpt()
但即使帖子包含<!--more-->
标签
最合适的回答,由SO网友:Micheal Johnson 整理而成
我找到了解决办法。根据https://codex.wordpress.org/Function_Reference/the_content#Overriding_Archive.2FSingle_Page_Behavior, 必须添加
global $more;
$more = 0;
在调用之前
the_content()
. 现在我的内部循环显示:
<?php
$recent_posts_query = new WP_Query(array(\'post_type\' => \'post\', \'posts_per_page\' => 5));
while ($recent_posts_query->have_posts())
{
$recent_posts_query->the_post();
?>
<div class="post">
<h3><?php echo the_title(); ?></h3>
<p>by <?php the_author(); ?></p>
<?php
global $more;
$more = 0;
the_content();
?>
</div>
<?php
}
?>