
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>タグを閉じます。