例えば、年別アーカイブで記事一覧を表示するページ内に「最近の記事」を載せる目的で以下のようなテンプレートを実装した場合、「最近の記事」部分もそのページの年の記事のみが表示されてしまい、期待した表示となりません。
<div class="contents">
<h2><mt:archivetitle escape />の記事一覧</h2>
<mt:entries sort_by="published_on" sort_order="descend">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>
<div class="sidebar">
<h2>最近の記事</h2>
<mt:entries sort_by="published_on" sort_order="descend" limit="5">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>
これはそのページのコンテキスト(ページの文脈)が「2023年」や「2022年」等になっているため、<mt:entries>
タグで取得する記事がデフォルトで「2023年」や「2022年」で絞り込まれてしまうからです。
そこで「最近の記事」を表示する部分では ignore_archive_context
モディファイアを利用して明示的にコンテキストを外すことで、常に最新の記事5件が表示されるようになります。
<div class="contents">
<h2><mt:archivetitle escape />の記事一覧</h2>
<mt:entries sort_by="published_on" sort_order="descend">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>
<div class="sidebar">
<h2>最近の記事</h2>
<mt:entries sort_by="published_on" sort_order="descend" limit="5" ignore_archive_context="date_based">
<li><mt:entrytitle escape /></li>
</mt:entries>
</div>
ignore_archive_context
モディファイアの値には以下の値が利用できます。
1
(全てのコンテキストを無視する)date_based
(日付コンテキストを無視する)モデル名
(指定したモデルのコンテキストを無視する…例えば category
と設定すると「カテゴリのコンテキスト」を無視します)更新日:2025年01月15日
解決しなかった場合は
下記よりお問い合わせください