いつもお世話になっております。
検索フォームを設置し、ふと疑問に思った事があります。
検索ワードは 「/s=検索ワード] でクエリーのキーを渡してると思うのですが
何も入力をしない場合、トップページが表示されます。
これは、仕様でどうしょうもならないのでしょうか?
おわかりの方、どうぞよろしくお願い致します。
いつもお世話になっております。
検索フォームを設置し、ふと疑問に思った事があります。
検索ワードは 「/s=検索ワード] でクエリーのキーを渡してると思うのですが
何も入力をしない場合、トップページが表示されます。
これは、仕様でどうしょうもならないのでしょうか?
おわかりの方、どうぞよろしくお願い致します。
何も入力をしない場合、トップページが表示されます。
仕様ですね。ただし、/?s= というパラメータは残っているので「内容が空の s パラメータがある」という条件で救い上げることは可能です。
テーマの index.php にて、以下のような if 節を入れれば判別できます。
if (isset($_GET['s']) && empty($_GET['s'])) {
/* 検索値が空のときの処理 */
}
search.php を呼び出したいとかの場合は、template_redirect アクションにフックする関数を書いて、上記の判別関数で使いたいテンプレートに割り振るとかがよいです。
lilyfan 様
ご回答有難う御座います。
やはり index.php に飛ぶのは仕様なのですね。
ところで、template_redirect とは?
少し興味があるのでもう少し教えて下さい。
宜しくお願い致します。
ログイン しなければ投稿できません。