検索結果の件数の出力
SearchEntriesプラグインで検索を行った際に、検索されたブログ記事の件数を出力することもできます。
MTSearchLoadedEntryCountタグ
MTSearchConditionsタグによって検索を行った後に、検索で読み込まれたブログ記事の件数を出力するには、「MTSearchLoadedEntryCount」というテンプレートタグを使います。
例えば、「タイトルに『Movable Type』を含む」というブログ記事を検索して、読み込んだ記事の件数と、記事の一覧を出力するには、以下のように表します。
<mt:SearchConditions>
<$mt:SearchConditionLike field="title" values="Movable Type"$>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
<p><$mt:SearchLoadedEntryCount$>件の記事が見つかりました</p>
<ul>
<mt:Entries>
<li><$mt:EntryTitle$></li>
</mt:Entries>
</ul>
<mt:Else>
<p>記事が見つかりませんでした。</p>
</mt:IfNonZero>
MTSearchFoundEntryCountタグ
MTSearchLoadedEntryCountタグは、前述した通り「検索で読み込まれたブログ記事の件数」を表します。
「検索条件に合うすべてブログ記事の件数」ではありません。
例えば、MTSearchConditionsタグのブロックに<$mt:SearchLimit limit="10"$>タグを入れて、読み込む件数を10指定したとします。
この場合、条件に合うブログ記事が10件より多いとしても、読み込まれるブログ記事の件数は10件なので、MTSearchLoadedEntryCountタグの出力も10になります。
MTSearchLimitタグの指定に関係なく、検索条件に合うブログ記事の件数を得たい場合は、「MTSearchFoundEntryCount」というテンプレートタグを指定します。
また、MTSearchConditionsタグに「found_count="1"」のモディファイアを指定します。
例えば、前述の例で、MTSearchLimitタグで読み込む件数を10件に限定しつつ、検索に合うすべてのブログ記事の件数を出力するには、以下のようにテンプレートを組みます。
<mt:SearchConditions found_count="1">
<$mt:SearchConditionLike field="title" values="Movable Type"$>
<$mt:SearchLimit limit="10"$>
</mt:SearchConditions>
<mt:IfNonZero tag="SearchLoadedEntryCount">
<p><$mt:SearchFoundEntryCount$>件の記事が見つかりました</p>
<ul>
<mt:Entries>
<li><$mt:EntryTitle$></li>
</mt:Entries>
</ul>
<mt:Else>
<p>記事が見つかりませんでした。</p>
</mt:IfNonZero>
記事の件数だけを得る
MTSearchConditionsタグに「count_only="1"」のモディファイアを指定すると、条件に合うブログ記事の件数だけを取得して、ブログ記事を読み込まないこともできます。