WordPress 顯示相同標籤的文章列表

作者: admin 分类: wordpress 发布时间: 2012-09-24 05:16

最近比較忙,偷空分享一個 WordPress 的小技巧。

WordPress 用家應該都知道,每篇文章都可加入標籤,方便讀者找到題材相近的文章。如果可以在網頁上顯示這些文章的標題和連結,製作成一個列表,相信對讀者很有幫助,亦可增加網誌的 Page View。筆者以前介紹過用分類 (Category) 製作「相關文章」列表,今次改用標籤來做,而另一個不同之處是把這列表放在側欄上。放在側欄和放在文章內容下方有什麼不同呢?答案是絕大部分 Template 中,前者是 The Loop 完結後才運行,而很多 template tags 是只可用在 The Loop 之中,如果你發現以前修改 template 時常常遇到問題,很可能是沒注意到這問題,故亂把內文一些元素移到側欄之上。

要以相同標籤製作「相關文章」列表,首先當然要獲取文章的標籤,可使用 get_the_tags(post_id) 這個 function:

ID);
        if ($posttags) {
                foreach($posttags as $tag) {
                        $alltags . $tag->name . ‘,’;
                }
        }
?>

以上方法可取得文章所有標籤,每個標籤用,分開,用意是之後顯示包舍上述任何一個標籤的文章,如果希望顯示包括所有標籤的文章,則用+號分隔。

之後可用以下方法抽取相關文章,特別要注意的是用 get_posts function,這 function 用於 The Loop 之外。

 5,
                        ‘post__not_in’ => array($post->ID),
                        ‘orderby’=>‘rand’,
                        ‘tag’ => $alltags
                        );
        $myposts = get_posts($args);
        foreach($myposts as $post) {
                echo ‘
  • ’; the_title(); echo ‘
  • ’; } ?>

    以上幾個 arugments,意思分別是顯示5篇相關文、不顯示目前這篇文章及隨機顯示,另外需要設計只有獨立顯示一篇文章時,才使用這功能。

    来源:http://www.jsolutions.biz/blog/cms/related-posts-by-tags-on-wordpress-sidebar/