WordPress カテゴリ選択で条件付き絞り込みが行える検索フォームを実装

概要説明

キーワード、カテゴリー選択で条件指定が行える絞り込み検索フォームを実装するカスタマイズ。ショートコードにてトップページ、サイドエリアなど自由に配置できます。

searchform.php
<?php
/*----------------------------------------------------
 絞り込み検索フォーム ( searchform.php )
----------------------------------------------------*/
?>
<form method="get" id="searchform" action="<?php echo home_url('/'); ?>">
    <input type="text" name="s" id="s" value="<?php the_search_query(); ?>" />
    <?php
        if(isset($_GET['cat']) ) {
            $selected = $_GET['cat'];
        } else {
            $selected = 0;
        }
        wp_dropdown_categories('orderby=id&hide_empty=-&show_option_all=カテゴリー選択&selected='.$selected);
    ?>
    <input type="submit" class="srcbtn" value=" 検 索 ">
</form>

searchform.php アップロード

テーマディレクトリの中に searchform.php をアップロードします

functions.phpと同じディテクトリにアップロードしてください

検索フォームの呼び出し – PHP ( テンプレート )

get_template_part('searchform');

ショートコードで呼び出せるようにする

functions.php
/*----------------------------------------------------
 絞り込み検索フォームを表示させるショートコード
----------------------------------------------------*/
if ( !function_exists( 'shortcode_searchform' ) ){
    function shortcode_searchform () {
        ob_start();
        get_template_part('searchform');
        return ob_get_clean();
    }
    add_shortcode('search', 'shortcode_searchform');
}

動作確認

当サイトのトップページ上部に設置している検索フォームがこちらの機能になります

除外したいカテゴリーを指定したい場合

// wp_dropdown_categories の条件指定に下記を追加
&exclude=カテゴリーID

複数指定する場合は,で区切る

検索結果ページの調整

actionでどこを指定するかにもよりますがサンプルコードの場合はindex.phpが検索結果のページになります

WordPress Developer Resources

関連機能

  1. ダッシュボードに自由に使えるメモ用エリアを追加

  2. WordPressプラグインなしでカスタム投稿をタイトル、本文、アイキャッチ、カテゴリーを有効にして設定

  3. WordPress ワンポイントメッセージ表示ショートコード

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ホントに大事なモンってのは
もってる奴よりもってねー奴の方が
しってるもんさ

銀魂
by 坂田銀時

Profile

PAGE TOP
Amazon プライム対象