WordPressのget_search_form()
関数は、検索フォームを生成するために使用される関数です。デフォルトの検索フォームを取得し、表示するために使用されます。get_search_form()
関数は、WordPressテーマやプラグインで検索機能を追加する際に使われています。
目次
get_search_form()の使い方
get_search_form()
の基本的な使い方としてデフォルトの検索フォームを表示するためには、テーマファイル(例:header.phpやsidebar.php)に以下のコードを追加します。
<?php get_search_form(); ?>
上記記述でWordPressが提供するデフォルトの検索フォームが表示されます。
get_search_form()のカスタマイズ
WordPressで検索フォームをカスタマイズしたい場合、searchform.php
というファイルをテーマディレクトリに作成します。このファイルが存在する場合、get_search_form()
はそれを使用します。
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<div>
<label class="screen-reader-text" for="s"><?php _e( 'Search for:' ); ?></label>
<input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" />
<input type="submit" id="searchsubmit" value="<?php echo esc_attr__( 'Search' ); ?>" />
</div>
</form>
上記のコードは、WordPressで使用される検索フォームを生成するためのHTMLとPHPの組み合わせです。このフォームは、ユーザーが検索クエリを入力し、検索結果を取得するために使用されます。コードの各部分について詳しく説明します。
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<form>
検索フォームを定義します。role="search"
フォームの役割を検索と指定し、アクセシビリティを向上させます。method="get"
フォームデータを送信する方法を指定します。GET
メソッドは、URLにクエリ文字列としてデータを付加します。id="searchform"
フォームのIDを指定します。このIDは、スタイルシートやJavaScriptでフォームを参照するために使用されます。class="searchform"
フォームのクラスを指定します。このクラスは、スタイルシートでのスタイリングに使用されます。action="<?php echo esc_url( home_url( '/' ) ); ?>"
フォームが送信されるURLを指定します。esc_url( home_url( '/' ) )
は、ホームページのURLを取得し、それを適切にエスケープして出力します。
<div>
<div>
フォームの内容を囲むためのコンテナです。
<label class="screen-reader-text" for="s"><?php _e( 'Search for:' ); ?></label>
<label>
入力フィールドのラベルを定義します。class="screen-reader-text"
は、スクリーンリーダー用のクラスで、視覚的には隠されますが、スクリーンリーダーでは読み上げられます。for="s"
このラベルが関連付けられている入力フィールドのIDを指定します。<?php _e( 'Search for:' ); ?>
Search for:
というテキストを表示し、それを翻訳可能にします。_e
関数は、指定した文字列を翻訳し、そのまま出力します。
<input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" />
<input type="text">
: テキスト入力フィールドを定義します。value="<?php echo get_search_query(); ?>"
フィールドの初期値を設定します。get_search_query()
は、現在の検索クエリを取得します。これにより、検索結果ページで再度検索クエリを表示できます。name="s"
フォームデータの名前を指定します。この名前は、検索クエリのパラメータとして使用されます。id="s"
入力フィールドのIDを指定します。このIDは、ラベルと関連付けられています。
<input type="submit" id="searchsubmit" value="<?php echo esc_attr__( 'Search' ); ?>" />
<input type="submit">
送信ボタンを定義します。id="searchsubmit"
ボタンのIDを指定します。value="<?php echo esc_attr__( 'Search' ); ?>"
ボタンの表示テキストを設定します。esc_attr__
関数は、指定した文字列を翻訳し、HTML属性用にエスケープして出力します。Search
は、ボタンに表示されるテキストで、翻訳可能です。
</div>
</form>
</div>
と</form>
<div>
と<form>
タグを閉じます。