2026.06.23
ひとつ前の記事に続き、PageButeプラグインで使えるテクニックです。
一覧から特定の記事を除外したい場合、If文を使って除外すると指定通りの件数にならないのは前回書いたとおりですが、以下のuniqueを使う方法で実装できる場合があります。
●MTテンプレート
1回目の<Entries>で除外したい記事だけをリストアップし、2回目の<Entries>に unique="1" を付与することで一度リストアップされた記事を除いた記事一覧を出力する方法です。
上のサンプルでは特定のカテゴリーが付与された記事を一覧から除外しています。
・mt:Blogsを使用することで、カテゴリーアーカイブでも別カテゴリーの記事を扱える。値は現在のブログのIDを入れる。
・1回目の<Entries>ではリストアップが目的なので何も出力しない。
Entriesのモディファイアでリストアップできるものであれば除外できるので、
・field:customfieldbasename=""(カスタムフィールドの値)
・tag="", tags=""(タグ)
・author=""(投稿者)
・id=""(記事ID)
などでも除外することができると思います。(未確認)
一覧から特定の記事を除外したい場合、If文を使って除外すると指定通りの件数にならないのは前回書いたとおりですが、以下のuniqueを使う方法で実装できる場合があります。
●MTテンプレート
<!-- 特定の記事を除外するためにリストアップ -->
<mt:Blogs blog_ids="1" ignore_archive_context="1">
<mt:Entries blog_ids="1" categories="除外したいカテゴリー名">
</mt:Blogs>
<!-- unique="1"で一度リストアップされた記事を除外する -->
<MTPageContents count="10">
<mt:Entries unique="1">
<li>~</li>
<$MTPageSeparator$>
</mt:Entries>
</MTPageContents>
1回目の<Entries>で除外したい記事だけをリストアップし、2回目の<Entries>に unique="1" を付与することで一度リストアップされた記事を除いた記事一覧を出力する方法です。
上のサンプルでは特定のカテゴリーが付与された記事を一覧から除外しています。
・mt:Blogsを使用することで、カテゴリーアーカイブでも別カテゴリーの記事を扱える。値は現在のブログのIDを入れる。
・1回目の<Entries>ではリストアップが目的なので何も出力しない。
Entriesのモディファイアでリストアップできるものであれば除外できるので、
・field:customfieldbasename=""(カスタムフィールドの値)
・tag="", tags=""(タグ)
・author=""(投稿者)
・id=""(記事ID)
などでも除外することができると思います。(未確認)




