通过搜索单个帖子的帖子标签作为词条来搜索相关帖子

时间:2012-05-09 作者:Pollux Khafra

我想在单个帖子页面上有一个相关的帖子循环,为此我想搜索帖子的标签。我的第一个问题是,你能在查询帖子中搜索多个术语吗?正确的方法是什么。这是我一直在尝试的,但没有奏效。

global $post;
$tags = wp_get_post_tags($post->ID);
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args = array(\'cat\' => \'8\', \'posts_per_page\' => 8, \'s\' => $tag_ids,);
$my_search = new WP_Query($args);
if ($my_search->have_posts()) : while ($my_search->have_posts()) : $my_search-  >the_post(); ?>   

1 个回复
最合适的回答,由SO网友:bueltge 整理而成

如果你在一个页面上的循环中,那么你就拥有了所有标签,并且可以搜索具有相同标签的相关帖子。你可以通过谷歌找到许多解决方案;例如:

//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags( get_the_ID() );
if ( $tags ) {

  echo \'Related Posts\';

  $first_tag = $tags[0]->term_id;
  $args = array(
    \'tag__in\'          => array( $first_tag ),
    \'post__not_in\'     => array( get_the_ID() ),
    \'showposts\'        => 5,
    \'caller_get_posts\' => 1
   );

  $my_query = new WP_Query( $args );
  if ( $my_query->have_posts() ) {

    while ($my_query->have_posts()) : $my_query->the_post(); ?>

      <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>

      <?php
    endwhile;
  }
}

结束