get_search_form()は、オリジナルの検索フォームやWordPress標準の検索フォームを表示してWordPressのサイト内検索に有効にするための関数で、簡単にサイト内検索が有効にできる便利なものだけど。
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo home_url( '/' ); ?>"> <div> <label class="screen-reader-text" for="s">検索:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="検索" /> </div> </form>
これだけのものを出しているだけ。
で、ココで問題。
いろいろググってみたところ、「投稿だけを検索対象とする」にはfunctions.phpに呪文を書けばOK!となっているのだけど、これ書いちゃうと、固定ページが表示されなくなってしまった。
ヲィヲィ。
というわけでさらに探すと。
関数リファレンスにあった!答えが!
送信される唯一のパラメータは s で、現在の検索クエリの値を持ちます。しかしいろいろな形に検索クエリを変更できます。例えば検索結果に投稿だけを(固定ページ等を除外して)表示したければ、下記をフォームに追加します:
<input type="hidden" value="post" name="post_type" id="post_type" />
とどのつまり、get_search_form()を使わんで、検索バーだしゃいいじゃん!
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo home_url( '/' ); ?>"> <div> <label class="screen-reader-text" for="s">検索:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="検索" /> <input type="hidden" value="post" name="post_type" id="post_type" /> </div> </form>
というわけで、コレ↑をテーマに直接カキコ。
はい、無事投稿だけの検索バーが完成♪