関連記事(同じタグ使用&同じカテゴリの記事)の表示

関連記事の表示 by you.

関連記事プラグインがいくつかあって「同じカテゴリの記事一覧」を表示するもの、「同じタグの記事一覧を表示するもの」、「自分自身でエントリとエントリが関連していると設定を行うもの」と3タイプ発見している。
しかし、さらにそれらのプラグインはダイナミックパブリッシングに対応していないという欠点がある!

そんなときにそのエントリーに関連付けられたタグの記事を表示し、タグがない場合は同じカテゴリの記事を表示といったようなやり方をされているブログを発見し、ダイナミックパブリッシングでも可能な方法が書いてあったので早速このムジログに導入してみた。


WingMemo: エントリーアーカイブに関連する記事一覧を表示するではスタティックパブリッシングでもダイナミックパブリッシングでも出来る方法が書いてある。そしてプラグインを使わずMTのタグやsmartyのみで実現しているところも大きく評価できる。

私の場合はダイナミックパブリッシングであり、ブログ記事の詳細、つまりブログエントリの最後の行の次あたりにこのタグを入れてみた。

<h3 class="trackbacks-header">この記事に関連したエントリ</h3>
<p>
<MTEntryIfTagged>
{{capture name="etag"}}<MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags>{{/capture}}
<ul>
<MTEntries lastn="10" tags="`$smarty.capture.etag`">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
<MTElse>
{{capture name="ecat"}}<MTEntryCategories glue=" OR "><$MTCategoryLabel$></MTEntryCategories>{{/capture}}
{{if $smarty.capture.ecat ne ""}}
<ul>
<MTEntries lastn="10" category="`$smarty.capture.ecat`">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
{{/if}}
</MTElse>
</MTEntryIfTagged>
</p>

 こうすることにより、本エントリの写真にあるように関連記事が表示されている。
写真でいえば、うえ二つが同じカテゴリの記事で一番したが同じタグの記事であるとも見れる。つまり昨日までの同一カテゴリの一覧と違い、タグで関連づけられたものも表示されるので、読者にとっては有益な関連リンクを提供できる。

というわけで、この手法を他のブログでも展開してみたいと思います。

コメント

  1. MTを使う理由:ラクをしてブログを書いていますか?
    Movable Typeは確かに難しいと思う。しかし、カスタマイズしていけば、ブログASPでブログを書くよりラクをしてより効率的なブログエントリーが可能になる!