the_search_query() というテンプレートタグは、formタグ内におけるinputタグのvalue属性に記述されることがある。
サイト内検索のボックスを作っている場合、
1 2 3 4 | <form action="<?php echo home_url('/');?>" method="get" class="searchform"> <input type="text" value="<?php the_search_query();?>" name="s" id="s" placeholder="サイト内検索"> ~~ </form> |
こんな感じのコードがよくある。
このinputタグ内のvalue属性に value="<?php the_search_query();?>" が記述されている。
これはなんのためか?
the_search_query()は検索が行われた時に、その検索キーワードを表示する役割がある。
サイト内検索ボックスに検索キーワードを入れると通常は検索結果ページに移動するはずだ。
その時、サイト内検索ボックスにキーワードを残したままにするのが、
inputタグ内のvalue属性に value="<?php the_search_query();?>" を記述する意味なのだ。
もしvalue="" になっていたら、検索結果画面に移った時に、検索ボックス内は空になる。
そのためのものだ。