wordpress プラグインなし検索フォーム

【wordpress】プラグインなしで絞り込み機能の設置

2020.05.18 / 2020.11.19

カテゴリとタグとフリーワードで絞り込み

sumoなど賃貸を検索する際に賃料や家賃、間取りなどの詳細を詳しく得る事のできる機能をwordpressのサイト内検索に設置する方法の備忘録です。

フリーワードに加えてタグやカテゴリーを検索条件に追加します。

<form method="get" action="<?php bloginfo( 'url' ); ?>">
    <p>検索</p>
    <input name="s" id="s" type="text" />
    <?php wp_dropdown_categories('depth=0&orderby=name&hide_empty=1&show_option_all=カテゴリー選択'); ?>
    <?php $tags = get_tags(); if ( $tags ) : ?>
        <select name='tag' id='tag'>
        <option value="" selected="selected">タグ選択</option>
        <?php foreach ( $tags as $tag ): ?>
        <option value="<?php echo esc_html( $tag->slug);  ?>"><?php echo esc_html( $tag->name ); ?></option>
        <?php endforeach; ?>
        </select>
    <?php endif; ?>
    <input id="submit" type="submit" value="検索" />
</form>

解説

wp_dropdown_categorie

テンプレートタグwp_dropdown_categorieを利用してカテゴリーを選択可能にする。
上記のテンプレートタグでカテゴリーをドロップダウン形式で検索条件に追加できます。

foreach

foreach ( $tags as $tag )でタグを出力

ポイント

WordPressの本文のpやhタグにclassをつける
記事のカテゴリーの取得と表示方法
メインループとサブループの表示
カスタム投稿タイプのURLをIDに変更する方法
検索結果からページを除外
カスタム投稿タイプにカテゴリ&タグ追加しアーカイブページで表示
固定ページのスラッグを取得し、そのスラッグに応じて表示するテンプレートを変更する
会員限定記事と一般公開記事にそれぞれ別のアイコンを設定