2012-03-15 85 views
0

我在網上找到這段代碼,並做我需要它做的事情,這是給我一個相關的職位通過類別在單個模板循環外的列表。Wordpress相關文章通過類別外環

<?php 
    $postid = $post->ID; 
    foreach((get_the_category()) as $category) { 
     echo "<h3>Related Posts in ".$category->cat_name." </h3>"; 
     $postlist = get_posts('category='.$category->cat_name); 
      foreach ($postlist as $post) : 
       $catpostid = $post->ID; 
        if (in_category($category->cat_name) && ($catpostid != $postid)) { ?> 
         <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
       <?php } 
      endforeach; 
     } 
?> 

任何人都可以幫我添加一個帖子數量參數呢?我一直試圖修改這個小時,並且我一直在打破它。我需要的是能夠控制顯示多少帖子。對不起,我在PHP中編寫任何代碼時都是完整的。

謝謝。

回答

0

您可以將numberposts參數傳遞給get_posts()以及您的類別......我已經在$ args =行中列出了幾個想法,只允許您的類別中有10個帖子,按標題升序排列名稱。當然,完全沒有經過測試,但隨時隨地玩吧!

<?php 
    $postid = $post->ID; 
    foreach((get_the_category()) as $category) { 
    echo "<h3>Related Posts in ".$category->cat_name." </h3>"; 
    $args = array('numberposts' => 10, 'order'=> 'ASC', 'orderby' => 'title', 'category' => $category->cat_name); 
    $postlist = get_posts($args); 
    foreach ($postlist as $post) : 
    $catpostid = $post->ID; 
    if (in_category($category->cat_name) && ($catpostid != $postid)) { ?> 
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
    <?php } 
    endforeach; 
    } ?> 
+0

有關參數的完整列表可以傳遞給get_posts也看看WordPress的文檔:http://codex.wordpress.org/Template_Tags/get_posts – 2012-03-15 05:28:53

+0

試圖您提供的代碼,它沒」不會中斷或給出任何錯誤。但奇怪的是,當我將數字從10降到4時,它只顯示1個相關的帖子。 此測試類別內有3個帖子,所以它應該顯示兩個相關的帖子。正如我上面提到的4個職位和以下只顯示1個相關的職位,但5-10,我假設任何數字10以上顯示2個職位。 任何想法? – 2012-03-15 05:52:15