get_search_form()

get_search_form()

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>タグを閉じます。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次