如何在Single.php中显示同一类别的相关帖子

时间:2019-02-04 作者:Venkatesan R

如何在单个中显示来自同一类别的相关帖子。php。我试过了,但没用。

1 个回复
SO网友:Alexander Holsgrove

在你的单曲上。php模板,您需要加载类别术语,然后运行查询以获取其他帖子。在我的示例中,我从单个类别加载帖子。我们安装了Wordpress SEO插件,如果您决定选择几个类别,可以选择一个主要类别。

$related_articles = array();
$categories = get_the_category();

if($categories) {
   $category_id = $categories[0]->term_id;

   if(count($categories) > 1 && class_exists(\'WPSEO_Primary_Term\')) {
      $primary_term = new WPSEO_Primary_Term(\'category\', get_the_id());
      $category_id  = $primary_term->get_primary_term();
   }

   $related_articles = get_posts(array(
      \'category\'    => $category_id,
      \'exclude\'     => $post->ID,
      \'numberposts\' => 3,
      \'order\'       => \'DESC\',
      \'orderby\'     => \'date\',
      \'post_status\' => \'published\',
      \'post_type\'   => \'post\'
   ));
}
然后,您可以循环浏览相关帖子(如果有):

<?php if($related_articles): ?>
   <section class="related-articles">
      <?php foreach($related_articles as $post): ?>
         <?php setup_postdata($post); ?>
         <article>
            <h2><?php the_title(); ?></h2>
         </article>
      <?php endforeach; ?>
      <?php wp_reset_postdata(); ?>
   </section>
<?php endif; ?>
希望有帮助

相关推荐

为什么要多次调用Pre_Get_Posts挂钩?

我正在使用pre_get_posts 然而,由于hook没有按预期工作,我发现函数被调用了4次,当第一个调用按预期运行时,后续调用将无法正确运行。我想知道为什么我的自定义挂钩被运行了不止一次!我找到了一个article that explains why this may happen, 但我很困惑,因为就我而言,这根本不应该发生。。。。代码:function exclude_category( $query ) { global $acorn_user; $tax_que