为什么摘录在随机帖子列表中显示相同

时间:2016-09-27 作者:dan

我正在试着用单子随机获取帖子列表。页脚上方的php。文章标题随机显示,在<li> 但每个帖子标题的摘录都是相同的(即,帖子内容“single.php”的相同摘录)。

第一次尝试:

  <ul class="random-list">
    <?php $posts = get_posts(\'orderby=rand&numberposts=12\'); foreach($posts as $post) { ?>
    <li  class="col-xs-6 col-sm-3"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?><br></a>
    </li>
    <?php } ?>
    </ul>
第二次尝试:

<ul>
<?php
$args = array( \'numberposts\' => 5, \'orderby\' => \'rand\', \'post_status\' => \'publish\', \'offset\' => 1);
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><p><?php the_excerpt(); ?></p></li>
<?php endforeach; ?>
</ul>

2 个回复
SO网友:Sladix

您正在尝试在wordpress loop, 因此,它们不会起作用。

我建议您尝试以下方式:

$args = array( \'posts_per_page\' => 12, \'orderby\' => \'rand\', \'post_status\' => \'publish\', \'offset\' => 1);
$query = new WP_Query($args);
while($query->have_posts()){
    $query->the_post();
    // the_excerpt() will now work as expected
}

SO网友:Naresh Kumar P

你的get_posts() 函数可能导致您现在解释的错误。

您可以按照标准循环结构进行操作,以便很容易打印title(), 内容和摘录条件。

<?php
$args = array( \'posts_per_page\' => 12, \'orderby\' => \'rand\', \'post_status\' => \'publish\', \'offset\' => 1);
   $random_posts = new WP_Query($args);
   if($random_posts->have_posts()) : 
      while($random_posts->have_posts()) : 
         $random_posts->the_post();
?>
         <h1><?php the_title() ?></h1>
         <div class=\'post-content\'><?php the_content() ?></div>
         <div class=\'excerpt\'><?php the_excerpt(); ?></div>      
<?php
   endwhile;
   else: 
?>
   Oops, there are no posts.
<?php
   endif;
?>

相关推荐

使用_excerpt()命令不会显示自动摘录

我一直在寻找这个问题的答案,但一直没有找到任何答案:为什么我在给定网站上使用\\u摘录()时,它不会自动打印内容的前几个字符?只有在文章的WordPress摘要字段中添加了内容时,才会打印摘录。如何解决此问题?对于其他网站,这不会发生,如果没有在摘要上添加文本,则会自动生成摘录。摘录不是自动生成的原因是什么?我的情况与此类似:Automatic Excerpt Not Working但遗憾的是,你的回答没有给我任何建议。