我正在尝试查询与WordPress中正在查看的当前帖子具有相同标签的帖子列表。我想如果我可以查询当前帖子的标签列表,将其传递给变量,然后将该变量传递给query_posts参数,它将完成工作。它似乎适用于帖子中的一个标签,但我显然做错了什么。以下是我到目前为止编写的代码示例:
<?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(); ?>
对我所做错的任何澄清都将非常感激。
答案 0 :(得分: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(); ?>
答案 1 :(得分: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(); ?>