フォーラム

空欄(空)で検索 (3 件の投稿)

  1. tanpopo2
    メンバー
    2 years前の投稿 #

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

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

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

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

  2. IKEDA Yuriko
    常連回答者
    2 years前の投稿 #

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

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

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

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

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

  3. tanpopo2
    メンバー
    2 years前の投稿 #

    lilyfan 様

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

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

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

    宜しくお願い致します。

返信

ログイン しなければ投稿できません。

About this Topic

Tags

タグ はまだありません。