MTEntriesで、カスタムフィールドの複数値の情報を出力する

構築・開発MovableType

MTEntriesのカスタムフィールドモディファイアでは、値1つでしか設定できず、複数値の組み合わせ (AND, OR, NOT) をすることができません。

MTEntries – テンプレートタグリファレンス

カテゴリであれば、AND, OR, NOTを使った複雑なフィルタリングが可能なのですが。。。

そこで、若干無理矢理感はありますが、下記のようにすることで、複数値の一覧を作ることができます。

<pre class="wp-block-preformatted"><$MTSetVar name="news_lists" value=""$>
<$MTSetVar name="counter" value="0"$>

<mtentries lastn="5" field:cf_basename="お知らせ">
	<$MTEntryDate format="%Y%m%d" setvar="date"$>
	<mtsetvarblock name="news_lists" key="$date">
		<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
	</mtsetvarblock>
</mtentries>
<mtentries lastn="5" field:cf_basename="イベント">
	<$MTEntryDate format="%Y%m%d" setvar="date"$>
	<mtsetvarblock name="news_lists" key="$date">
		<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
	</mtsetvarblock>
</mtentries>

<mtloop name="news_lists" sort_by="key reverse">
	<mtif name="counter" lt="5">
		<$MTVar name="__value__"$>
		<mtsetvar name="counter" op="++">
	</mtsetvar></mtif>
</mtloop></pre>

フィールドの各値で一旦取得した後、日付をキーにして並び替え、出力を行っています。
ページネーションとかが絡む場合は、使用できません。

コメント

スポンサーリンク
タイトルとURLをコピーしました