Wordpress查询相关帖子的标签

时间:2011-09-09 21:38:58

标签: php wordpress loops tags

我试图通过使用与当前帖子/页面相同的标签来查询相关帖子,但这也必须在我已用于生成网格的代码格式中工作。

<?php
$c = 1; //init counter
$bpr = 3; //boxes per row
if(have_posts()) : while (have_posts()) : the_post(); ?>
<div class="postgrid" id="post-<?php the_ID(); ?>">

<div class="postthumb">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail('grid-post-image'); ?></a><div class="borderthumb"></div><div class="posttitle"><h1><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1>
   <p><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">Click for more</a></p></div>
  </div>
</div>

<?php
if($c == $bpr) :
?>
<?php
$c = 0;
endif;
?>
<?php
        $c++;
    endwhile;
endif;
?>

我发现了这个: Wordpress Querying Related Posts by tag

这看起来很有希望,但当我试图整合它时......

<?php
$c = 1; //init counter
$bpr = 3; //boxes per row
$test = "";
$posttags = get_the_tags();
$test = '';
$sep = '';
if ($posttags) {
    foreach($posttags as $tag) {
        $test .= $sep . $tag->name; 
        $sep = ",";
    }
}
query_posts('tag=' .$test . '&showposts=-1');  if(have_posts()) : while (have_posts()) : the_post(); ?>
遗憾的是,没有产生任何结果。有什么帮助吗?

谢谢!我认为这两个脚本是冲突的,我不是php的高手。

1 个答案:

答案 0 :(得分:0)

来自spec for query_posts

*您不应使用query_posts()创建辅助列表(例如,页面底部的相关帖子列表或侧栏小部件中的链接列表)。相反,您应该创建WP_Query的新实例或使用get_posts()。*

尝试get_posts()

    $posts = get_posts('tag=' .$test); foreach($posts as $post){ setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<? } ?>

您需要确保$test实际上是有效标记或标记集。