MTのデフォルトのウィジェットに「最近のブログ記事」が用意されていますが、これをそのまま使うと、各カテゴリーアーカイブなどのページには、そのカテゴリーに属している記事の最新記事しか表示されません。
ブログの全ページに全ての記事の最新記事リストを表示しようと思うと、これが案外大変だったりするわけです。
そこで参考にさせていただいたのがこちらの記事
ブログの全ページに最新記事のリストを出力する裏ワザ
PHPもプラグインも使わずに、全ページに記事リストを表示する方法を、とても丁寧にわかりやすく説明されています。
このブログでもこの方法で最新記事を全てのページに表示しています。
というわけで「最近のブログ記事」ウィジェットはこんな感じになりました。
現在のブログのIDを「blog_id」にセットして、「MTBlogs」タグで現在のブログのIDを「include_blogs」モディファイアで指定し、「ignore_archive_context」モディファイアでコンテキストを外します。
これを利用することで、テンプレートに関係なく、最新の記事リストを出力する事が可能になります。
また、「MTEntries」には「include_blogs="$blog_id"」のモディファイアを入れないと、再構築中にエラーが出ます。
これで全ページに最新記事リストを表示する事ができました。
ブログの全ページに全ての記事の最新記事リストを表示しようと思うと、これが案外大変だったりするわけです。
そこで参考にさせていただいたのがこちらの記事
ブログの全ページに最新記事のリストを出力する裏ワザ
PHPもプラグインも使わずに、全ページに記事リストを表示する方法を、とても丁寧にわかりやすく説明されています。
このブログでもこの方法で最新記事を全てのページに表示しています。
というわけで「最近のブログ記事」ウィジェットはこんな感じになりました。
<mt:BlogID setvar="blog_id">
<mt:Blogs include_blogs="$blog_id" ignore_archive_context="1">
<mt:If tag="BlogEntryCount">
<mt:Entries include_blogs="$blog_id" lastn="20">
<mt:EntriesHeader>
<div class="widget-recent-entries widget-archives widget">
<h3 class="widget-header">最近のブログ記事</h3>
<div class="widget-content">
<ul>
</mt:EntriesHeader>
<li class="<mt:If name="__odd__">liodd<mtElse>lieven</mtif>"><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
<mt:EntriesFooter>
</ul>
</div>
</div>
</mt:EntriesFooter>
</mt:Entries>
</mt:If>
</mt:Blogs>
変更した部分は、
<mt:BlogID setvar="blog_id">
<mt:Blogs include_blogs="$blog_id" ignore_archive_context="1">
<mt:Entries include_blogs="$blog_id" lastn="20">
----処理内容----
</mt:Entries>
</mt:Blogs>
上記の通り。現在のブログのIDを「blog_id」にセットして、「MTBlogs」タグで現在のブログのIDを「include_blogs」モディファイアで指定し、「ignore_archive_context」モディファイアでコンテキストを外します。
これを利用することで、テンプレートに関係なく、最新の記事リストを出力する事が可能になります。
また、「MTEntries」には「include_blogs="$blog_id"」のモディファイアを入れないと、再構築中にエラーが出ます。
これで全ページに最新記事リストを表示する事ができました。
