「webで何か」作るブログ

35歳という遅すぎるスタートをなんとかする為のブログです。基本的に自分にとっての役立ちメモ。

search.phpの作成

search.phpを作成した時のメモです。

search.phpについては、そのほかのindex系や単体ページ系のテンプレートとは異なる部分がいくつかあり、その部分をまとめておきたいと思います。

なお、今回は検索ページと検索結果ページを一つにまとめる構成にしています。

コード

hp

search.php独自の部分は?

the_search_query();

「検索された語句」を出力する関数があります。今回はヘッダーの中に設置したh1のテキストとして出力しています。ただ、検索を経ずにこのページに来ることもあるとすると、検索クエリが含まれているかどうかを判別しないといけないですね。というわけでget_search_queryを使って条件分岐を行ってます。

説明
検索が行われたときに、そのリクエストの検索クエリを表示します。

このファンクションは HTML 属性の中 (以下に示す「検索窓」の例のように) でも安全に使えます。

値を取得するには get_search_query / en を使ってください。

使い方
<?php the_search_query(); ?>

テンプレートタグ/the search query

get_search_form();

get_search_formを使うことで、WordPressの検索フォームを設置することができます。デフォルトのデザインから変更するにはsearchform.phpを作成を利用しますが、その点はまた次回に。

検索結果画面のクエリ

これはテーマファイルの名称がきちんとsearch.phpになっていれば通常のループで問題ないみたいです。