WordPressの検索フォーム
Twenty Sixteenのテーマファイルの搭載されているsearchform.phpからWordPressの「検索フォーム」を見てみたいと思います。
Twenty Sixteen: 検索フォーム (searchform.php)
searchform.phpのコードは下記のようになっています。
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label>
<span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'twentysixteen' ); ?></span>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'twentysixteen' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
</label>
<button type="submit" class="search-submit"><span class="screen-reader-text"><?php echo _x( 'Search', 'submit button', 'twentysixteen' ); ?></span></button>
</form>
esc_url( home_url( ‘/’ ) )
home_url関数
トップページURL(http://yourdomain.com/)を取得します。
esc_url
URLをエスケープして「サニタイズ」(無害化)させます。例えばアンド記号 (&) とシングルクォート (‘) はそれぞれ (&, ') という形に変換します。URLにJavascriptが埋め込まれていたりするとURLを開いた途端にJavascriptが実行されてしまう、といった危険を避けるために使われます。
echo _x( ‘Search for:’, ‘label’, ‘twentysixteen’ )
echo(文字列)
_x()はコンテキストに応じた翻訳テキストを取得する関数のようです。
esc_attr_x( ‘Search …’, ‘placeholder’, ‘twentysixteen’ );
_x( $text, $context, $domain );
$textを翻訳した文字列を返します。
get_search_query()
検索クエリを取得するテンプレートタグです。name=”s”というのがWordPressの検索クエリとなっています。
まとめ
検索ボタンを押した時に、検索クエリ(結果)が表示されます!
ご参考下さい😃