ブログの「関連エントリー」一覧を改修~MovableTypeカスタマイズ

電脳備忘録

エントリーの下の方に「関連エントリー」を表示させているのですが、現在表示されているエントリーとの関連がなさそうなものまで表示されていました。これはrelated_entriesというプラグインで、カテゴリーに紐づいた関連エントリーを表示させていたからだと思います。
いつか改修しないとなぁと思いつつ放置していたのですが今回対応しました。

改修にあたってはこちらのサイトを参考にさせていただきました。

MT5関連記事へのリンクの自動表示(「同じタグ」で記事一覧を表示)

参照先のコードをそのまま利用した場合、現在表示されている記事も関連エントリー一覧に含まれてしまうため、MTEntryIDを取得して取得したMTEntryID以外のエントリーを表示するようにしています。

<mt:SetVarBlock name="EntryId"><$MTEntryID$></mt:SetVarBlock>
<mt:SetVarBlock name="Sametags"><mt:EntryTags glue=' OR '><$MTTagName$></mt:EntryTags></mt:SetVarBlock>
<mt:If tag="BlogEntryCount">
<mt:Entries lastn="6" tags="$Sametags">
<mt:EntriesHeader>
<div class="related_entries">
<h1>関連エントリー</h1>
<ul>
</mt:EntriesHeader>
<mt:If tag="EntryID" ne="$EntryId">
<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
</mt:If>
<mt:EntriesFooter>
</ul>
</div>
</mt:EntriesFooter>
</mt:Entries>
</mt:If>

ざっくりとした解説

MTEntryIDを取得

  <mt:SetVarBlock name="EntryId"><$MTEntryID$></mt:SetVarBlock>

表示件数をlastn="5"とした場合、自身のエントリーを非表示にしているので実際表示されるのは4件になります。
lastn="6"とすることで、自身を除く5件のエントリーを表示できます。

<mt:Entries lastn="6" tags="$Sametags">

取得したMTEntryID以外のエントリーを表示

<mt:If tag="EntryID" ne="$EntryId">
<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
</mt:If>

各エントリーのタグとキーワードはSEOのことも少しだけ考慮して設定していたので、結果的にこの方法で出力した関連エントリーのほうが改修前と比べてしっくりきているような気がします。

広告

ブログの維持費に充てるでございます・・・。