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. WordPress ユーザー編集ページに任意の項目を追加

  2. 投稿ページのサイトマップをプラグイン無しで実装できるショートコード

  3. WordPress管理画面 各種投稿一覧の先頭にIDを表示させデフォルトをIDの降順で表示させるように設定する

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ぶつからなきゃ
伝わらないことだってあるよ
例えば、自分がどれくらい
真剣なのか
とかね

ソードアート・オンライン
by ユウキ

Profile

PAGE TOP
Amazon プライム対象