2011-01-14 103 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