サポート » 使い方全般 » 空欄(空)で検索

  • いつもお世話になっております。

    検索フォームを設置し、ふと疑問に思った事があります。
    検索ワードは 「/s=検索ワード] でクエリーのキーを渡してると思うのですが
    何も入力をしない場合、トップページが表示されます。

    これは、仕様でどうしょうもならないのでしょうか?

    おわかりの方、どうぞよろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    何も入力をしない場合、トップページが表示されます。

    仕様ですね。ただし、/?s= というパラメータは残っているので「内容が空の s パラメータがある」という条件で救い上げることは可能です。

    テーマの index.php にて、以下のような if 節を入れれば判別できます。

    if (isset($_GET['s']) && empty($_GET['s'])) {
    	/* 検索値が空のときの処理 */
    }

    search.php を呼び出したいとかの場合は、template_redirect アクションにフックする関数を書いて、上記の判別関数で使いたいテンプレートに割り振るとかがよいです。

    トピック投稿者 tanpopo2

    (@tanpopo2)

    lilyfan 様

    ご回答有難う御座います。

    やはり index.php  に飛ぶのは仕様なのですね。

    ところで、template_redirect とは?
    少し興味があるのでもう少し教えて下さい。

    宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「空欄(空)で検索」には新たに返信することはできません。