WordPress searchフォームの作成

まずHTMLで書くと理解しやすい

WordPressで検索フォームを作成するときのポイントは

1) name属性に sを指定

2) form のmethod は当然 get(読み取り)ということ

3) action(送付先) にはTOPページのurlを設定

valueには the_search_query() を渡しておくと便利 (なくても可能)

<form method="get" action="(サイトのTOPページURL)">
    <label  for="s">検索:</label>
    <input type="text" value="" name="s" id="s" />
    <input type="submit"  value="検索" />
</form>

これをあとはWordPressの関数を使って書けば良い

//method はget actionは home_url()
 <form class="header_search" method="get" action="<?= home_url(); ?>">

//name属性にはsを渡す value はthe_search_query()
                <input type="text" name="s" value="<?php the_search_query(); ?>" placeholder="キーワードを入力">
               
 </form>

テンプレートファイルにする

テンプレートファイル名はserachform.phpにするというWordPressの決まり

呼び出し側は get_search_from()で呼び出す

呼び出し側

<?php get_search_form(); ?>

f:id:happy_teeth_ago:20200803115552p:plain

HTMLを確認すると入力した値が渡っているのがわかります。

f:id:happy_teeth_ago:20200803115719p:plain

検索結果表示

検索結果表示ファイル名は search.php

検索でなく、結果を表示するので注意が必要