如何在主页上获取相关帖子列表

时间:2014-05-19 09:05:59

标签: wordpress

如何按标签获取相关帖子的最新帖子列表?

示例:

  • 最新帖子标题1
    • 相关帖子
    • 相关帖子
  • 最新帖子标题2
    • 相关帖子
    • 相关帖子

2 个答案:

答案 0 :(得分:1)

在Index.php中使用它

 <?php 
 $args = array(
'numberposts' => 100,
'offset' => 0,
'category' => 0,
'orderby' => 'post_date',
'order' => 'DESC',
'include' => ,
'exclude' => ,
'meta_key' => ,
'meta_value' =>,
'post_type' => 'post',
'post_status' => 'draft, publish, future, pending, private',
'suppress_filters' => true );

 $recent_posts = wp_get_recent_posts( $args, ARRAY_A );
 ?>
<ul>
   <?php

foreach( $recent_posts as $recent )
    {
       echo '<li>'.$recent["post_title"];

         $tags = wp_get_post_tags($recent["ID"]);
          if ($tags)
          {
           $first_tag = $tags[0]->term_id;
           $args=array(
            'tag__in' => array($first_tag),
            'post__not_in' => array($recent["ID"]),
            'posts_per_page'=>100,
            'caller_get_posts'=>1
           );
           $my_query = new WP_Query($args);
           if( $my_query->have_posts() )
           {
           echo '<ul>';
           while ($my_query->have_posts()) : $my_query->the_post(); ?>
          <li><?php the_title(); ?></li>

           <?php
           endwhile;
          echo '</ul>';
           }
             wp_reset_query();
           }

      echo '</li>';
    }
   ?>
</ul>

答案 1 :(得分:0)

你可以做这样的事 你的主循环包含最近的帖子,所以在每个循环中使用以下函数来获取它的标记

 $tag_ids = wp_get_post_tags( $post->ID, array( 'fields' => 'ids' ) );

然后你可以使用另一个使用这些标签的循环

$query = new WP_Query( 'tag_id='.$tag_ids );

现在$ query包含您想要的内容。