2011-09-09 62 views
0

我想通過使用與當前的帖子/頁面相同的標記來查詢相關的帖子,但是這也必須在我已經用於生成網格的代碼格式內工作。通過標記的Wordpress查詢相關的帖子

<?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的高手。

回答

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實際上是一個有效的標籤或一組標籤。

+0

有沒有辦法讓代碼動態地找到附加到頁面的標籤並顯示這些標籤,所以如果我用測試標記該頁面,它會找到測試。但如果我用'test2'標記另一個,它會發現test2?只是想知道這是我想要做的! – Amy

相關問題