「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
ブログ記事詳細検索プラグイン(その6・カテゴリのOR検索)
SearchEntriesプラグインでは、ブログ記事をカテゴリで検索することもできます。
今日は、「○○カテゴリか□□カテゴリに属する」というような、カテゴリのOR検索を解説します。
1.MTSearchConditionCategorySectionタグ
カテゴリでの検索を行うには、MTSearchConditionタグのブロックの中に、「MTSearchConditionCategorySection」というタグのブロックを入れます。
そして、そのブロックの中に、カテゴリの検索条件を指定するタグを入れます。
<mt:SearchConditions> <mt:SearchConditionCategorySection> カテゴリの検索条件を表すテンプレートタグ </mt:SearchConditionCategorySection> </mt:SearchConditions>
2.MTSearchConditionCategoryタグ
カテゴリの名前で検索するには、MTSearchConditionCategorySectionタグのブロックの中で、「MTSearchConditionCategory」というテンプレートタグで条件を指定します。
書き方は以下のようになります。
<$mt:SearchConditionCategory category="カテゴリ名1","カテゴリ名2",・・・"カテゴリ名n"$>
categoryモディファイアに、検索対象のカテゴリの名前をコンマで区切って並べます。
複数のカテゴリを指定した場合、それらのどれか1つのカテゴリに属するブログ記事が検索されます。
例えば、「Movable Type」というカテゴリに属するブログ記事を検索して、その一覧を出力するには、以下のようにテンプレートを組みます。
<mt:SearchConditions> <mt:SearchConditionCategorySection> <$mt:SearchConditionCategory category="Movable Type"$> </mt:SearchConditionCategorySection> </mt:SearchConditions> <mt:IfNonZero tag="SearchLoadedEntryCount"> <ul> <mt:Entries> <li><$mt:EntryTitle$>(<mt:EntryCategories glue=","><$mt:CategoryLabel$></mt:EntryCategories>)</li> </mt:Entries> </ul> </mt:IfNonZero>
また、「『プラグイン』か『カスタマイズ』のカテゴリに属する記事を検索する」という場合だと、上記の例のcategoryモディファイアを「category="プラグイン","カスタマイズ"」と書きます。
3.MTSearchConditionCategoryIDタグ
カテゴリの名前ではなく、IDで検索したい場合は、「MTSearchConditionCategoryID」というテンプレートタグを使います。
書き方は以下のようになります。
<$mt:SearchConditionCategoryID include_cat_ids="ID1,ID2,・・・IDn"$>
include_cat_idsモディファイアに、カテゴリのIDをコンマで区切って並べます。
カテゴリのIDを複数指定すると、そのどれかのカテゴリに属するブログ記事が検索されます。
例えば、IDが1番か2番のカテゴリに属するブログ記事を検索するなら、以下のようにテンプレートを組みます。
<mt:SearchConditions> <mt:SearchConditionCategorySection> <$mt:SearchConditionCategoryID include_cat_ids="1,2"$> </mt:SearchConditionCategorySection> </mt:SearchConditions> <mt:IfNonZero tag="SearchLoadedEntryCount"> <ul> <mt:Entries> <li><$mt:EntryTitle$>(<mt:EntryCategories glue=","><$mt:CategoryID$></mt:EntryCategories>)</li> </mt:Entries> </ul> </mt:IfNonZero>
4.ブログ記事のフィールドでの検索と組み合わせる
MTSearchConditionCategorySectionタグのブロックと、MTSearchConditionValues等のタグを組み合わせて、ブログ記事のフィールドの条件とカテゴリの条件の両方を指定することもできます。
その場合は、MTSearchConditionsタグのブロックの中で、MTSearchConditionValues等のタグと、MTSearchConditionCategorySectionタグのブロックを、続けて書きます。
<mt:SearchConditions> ブログ記事のフィールドの検索条件を表すテンプレートタグ <mt:SearchConditionCategorySection> カテゴリの検索条件を表すテンプレートタグ </mt:SearchConditionCategorySection> </mt:SearchConditions>
例えば、「Movable Type」カテゴリに属し、かつタイトルに「プラグイン」を含むブログ記事を検索して出力する場合だと、以下のようにテンプレートを組みます。
<mt:SearchConditions> <$mt:SearchConditionLike field="title" values="プラグイン"$> <mt:SearchConditionCategorySection> <$mt:SearchConditionCategory category="Movable Type"$> </mt:SearchConditionCategorySection> </mt:SearchConditions> <mt:IfNonZero tag="SearchLoadedEntryCount"> <ul> <mt:Entries> <li><$mt:EntryTitle$>(<mt:EntryCategories glue=","><$mt:CategoryLabel$></mt:EntryCategories>)</li> </mt:Entries> </ul> </mt:IfNonZero>
5.SearchEntriesプラグイン関係の記事の一覧
SearchEntriesプラグイン関係のその他の記事は、以下のリンクから参照できます。
- ブログ記事詳細検索プラグイン(その1・概要/インストール/ライセンス)
- ブログ記事詳細検索プラグイン(その2・「ブログ記事のフィールドの値が○○に等しい」場合の検索)
- ブログ記事詳細検索プラグイン(その3・「ブログ記事のフィールドの値に○○を含む」場合の検索)
- ブログ記事詳細検索プラグイン(その4・「ブログ記事のフィールドの値が○○以上」等の場合の検索)
- ブログ記事詳細検索プラグイン(その5・ブログ記事のフィールドどうしでのOR検索)
- ブログ記事詳細検索プラグイン(その6・カテゴリのOR検索)
- ブログ記事詳細検索プラグイン(その7・カテゴリのAND検索)
- ブログ記事詳細検索プラグイン(その8・タグの検索)
- ブログ記事詳細検索プラグイン(その9・カスタムフィールドでの検索の基本)
- ブログ記事詳細検索プラグイン(その10・カスタムフィールドでの検索の応用)
- ブログ記事詳細検索プラグイン(その11・各種の検索条件の指定)
- ブログ記事詳細検索プラグイン(その12・ブログ記事の並べ替え)
- ブログ記事詳細検索プラグイン(その13・検索結果の一部を読み込む)
- ブログ記事詳細検索プラグイン(その14・複雑なOR検索)
- ブログ記事詳細検索プラグイン(その15・検索結果の件数の出力)
- ブログ記事詳細検索プラグイン(その16・検索フォーム作成の基本)
- ブログ記事詳細検索プラグイン(その17・検索結果表示テンプレート作成の基本)
- ブログ記事詳細検索プラグイン(その18・検索を動作させるための設定)
- ブログ記事詳細検索プラグイン(その19・検索フォーム/検索結果表示の事例・1つの数値で検索)
- ブログ記事詳細検索プラグイン(その20・検索フォーム/検索結果表示の事例・数値の範囲で検索)
- ブログ記事詳細検索プラグイン(その21・検索フォーム/検索結果表示の事例・数値の範囲をselectで選択)
- ブログ記事詳細検索プラグイン(その22・検索フォーム/検索結果表示の事例・日付で検索)
- ブログ記事詳細検索プラグイン(その23・検索フォーム/検索結果表示の事例・期間で検索)
- ブログ記事詳細検索プラグイン(その24・検索フォーム/検索結果表示の事例・カテゴリのOR検索)
- ブログ記事詳細検索プラグイン(その25・検索フォーム/検索結果表示の事例・カテゴリのAND検索)
- ブログ記事詳細検索プラグイン(その26・検索フォーム/検索結果表示の事例・タグのOR検索)
- ブログ記事詳細検索プラグイン(その27・検索フォーム/検索結果表示の事例・タグのAND検索)
- ブログ記事詳細検索プラグイン(その28・検索フォーム/検索結果表示の事例・ドロップダウン/ラジオボタンのカスタムフィールドの検索)
- ブログ記事詳細検索プラグイン(その29・検索結果のページ分割/静的な検索の場合)
- ブログ記事詳細検索プラグイン(その30・検索結果のページ分割/動的な検索の場合)
- ブログ記事詳細検索プラグイン(その31・検索結果のページ分割/PHPによるキャッシュ)
- SearchEntriesプラグインでMore Custom FieldsプラグインのCheckbox Groupを検索する(静的編)
- SearchEntries プラグインでMore Custom FieldsプラグインのCheckbox Groupを検索する(動的編)
- SearchEntriesプラグイン不具合修正