Snow Monkey に絞り込み検索機能を追加する、Snow Monkey Search プラグインをリリースしました!

Snow Monkey Search は Snow Monkey 専用プラグイン(アドオン)です。他のテーマでは動作しませんのでご注意ください。

ダウンロード&インストール方法

Snow Monkey Search は、Snow Monkey サブスクリプションを契約された方(とエックスサーバーのテーマ販売サイトで Snow Monkey を契約された方)がダウンロードできます。

マイアカウントページ → ダウンロードから、snow-monkey-search.zip をダウンロードしてください。

ダウンロードできたら、お使いの WordPress のダッシュボード → プラグイン → 新規プラグインを追加 → プラグインのアップロードから snow-monkey-search.zip をアップロードしてインストール&有効化してください。

使い方

フォームを作成する

ダッシュボード → Snow Monkey Search → 新規投稿を追加をクリックしてください。

デフォルトで、キーワード・カテゴリー・タグの絞り込み検索が設定されたフォームの作成画面が開きます。

フォームの構成は下記のようになっています。

- 検索ボックス
  - 項目
    - キーワード検索
  - 項目
    - カテゴリー検索
  ...

検索フォームを表示する場所を設定する

検索フォームは指定した投稿タイプのアーカイブページに表示されるようになっています。

「検索ボックス」ブロックの設定パネルで、検索フォームを表示する投稿タイプと、表示場所を設定できます。

「表示エリア」は「メイン」と「サイドバー」が指定できます。ただし、検索フォームが表示されるアーカイブページにサイドバーが無い場合、「サイドバー」を指定すると検索フォームが表示されないのでご注意ください。

レイアウトする

「検索ボックス」「項目」はフレックスボックスとしてレイアウトをおこなうようになっています。

検索フォームの背景色等のデザインは、「検索ボックス」ブロックのスタイルパネルで設定できます。

保存&表示

「公開」をクリックすると、検索フォームが保存されます。保存されると指定した投稿タイプのアーカイブページに検索フォームが表示されるようになります。

検索項目

下記の検索項目を設置できます。

キーワード検索

キーワードで絞り検索をおこないます。

タクソノミー検索

指定したタクソノミーで絞り込み検索をおこないます。

選択肢を表示する方式(コントロールの種類)を「チェックボックス」「ラジオボタン」セレクトボックス」から選択できます。

期間検索

期間で絞り込み検索をおこないます。

デフォルトでは未来の日付の投稿の絞り込みには対応していませんが、下記のフィルターフックを使用して対応させることができます(未来の日付の投稿も表示されるようになり、検索の対象に含まれるようになります)。

// 未来の日付も対象にしたい投稿タイプには true を返す
add_filter(
	'_includes_future_posts',
	function( $is_include, $post_type ) {
		// 投稿タイプ event については、未来の日付の投稿も表示して検索対象に含める。
		if ( 'event' === $post_type ) {
			return true;
		}
		return $is_include;
	},
	10,
	2
);

カスタムフィールド検索

カスタムフィールドで絞り込み検索できます。

表示する方式(コントロールの種類)を「テキスト」「チェックボックス」「ラジオボタン」セレクトボックス」から選択できます。「チェックボックス」「ラジオボタン」セレクトボックス」の場合は選択肢も設定する必要があります。

WordPress の仕様上、カスタムフィールドの検索は遅くなる場合があるので積極的な使用はオススメしません。

使用例

このサイトのパターンライブラリのページで使用しています!

この記事を書いた人

アバター画像

キタジマ タカシ

長崎県長崎市在住。地元のWeb制作会社でWebデザイナー/エンジニアとして従事した後、2015年にフリーランス [ モンキーレンチ ] として独立。WordPress のテーマやプラグイン、ライブラリ、CSS フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。

Snow Monkey オンラインコミュニティ

Snow Monkey をより良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。より多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!