2011-01-14 70 views
2

我想查询与WordPress正在查看的当前帖子具有相同标签的帖子列表。我认为,如果我可以查询当前文章的标签列表,将它传递给一个变量,然后将该变量传递给query_posts参数,它将完成工作。它似乎适用于帖子中的一个标签,但我显然做错了。这里是我写到目前为止的代码示例:Wordpress查询相关文章标签

<?php 
$posttags = get_the_tags(); 
if ($posttags) { 
foreach($posttags as $tag) { 
    $test = ',' . $tag->name; 
} 
} 
query_posts('tag=' .$test . '&showposts=-1'); while (have_posts()) : the_post(); ?> 
     <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> 
<?php endwhile; wp_reset_query(); ?> 

任何关于我在做什么错误的澄清将非常感激。

回答

1

您每次重置$test

尝试

<?php 
$test = ""; 
$posttags = get_the_tags(); 
if ($posttags) { 
foreach($posttags as $tag) { 
    $test .= ',' . $tag->name; 
} 
} 
$test = substr($test, 1); // remove first comma 
query_posts('tag=' .$test . '&showposts=-1'); while (have_posts()) : the_post(); ?> 
     <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> 
<?php endwhile; wp_reset_query(); ?> 
+2

两种不同的响应,都努力!你们都是摇滚明星。确实,bonified摇滚明星!再次感谢。 – 2011-01-14 16:47:46

1

您必须将代码积存在测试变量,

<?php 
$posttags = get_the_tags(); 
$test = ''; 
$sep = ''; 
if ($posttags) { 
    foreach($posttags as $tag) { 
     $test .= $sep . $tag->name; 
     $sep = ","; 
    } 
} 
query_posts('tag=' .$test . '&showposts=-1'); while (have_posts()) : the_post(); ?> 
<p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> 
<?php endwhile; wp_reset_query(); ?> 
+0

谢谢,谢谢,谢谢。我现在可以修复我正在击打我的墙上的斑点! – 2011-01-14 16:45:47