概要
get_search_form
関数は、WordPressにおける検索フォームを読み込むための関数です。この関数は、テーマやプラグインの開発者が検索機能を簡単に実装する際によく使われます。主な機能は以下の通りです。
- テーマに簡単に検索フォームを追加できる。
- カスタム検索フォームを作成する際のベースとなる。
- ミニマルデザインの検索ボックスを提供する。
- JavaScriptまたはAjaxによる検索機能と組み合わせることができる。
- SEO向けに最適化された検索フォームを作成できる。
- 検索結果ページへの直接リンクを埋め込むことができる。
- さまざまなスタイルやクラスを適用してデザインをカスタマイズ可能。
- 検索用のカスタムフィルタを追加することができる。
この関数は、WordPressのコアファイルで通常 wp-includes/general-template.php
に含まれています。
構文
get_search_form( $args );
パラメータ
$args
(array) : 検索フォームのオプションを含む配列。デフォルト値は設定されている。
戻り値
- 文字列 : 検索フォームのHTMLを返します。
使用可能なバージョン
- WordPress 1.2以降で使用可能。
関連する関数
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
- 基本的な検索フォームの表示
<?php get_search_form(); ?>
このコードは、デフォルトの検索フォームを出力します。通常のテーマで使用される基本的な実装です。
- カスタムクラスを持つ検索フォーム
<?php get_search_form(array('class' => 'custom-search-form')); ?>
カスタムクラスを追加して、スタイリングを簡単に変更できるようにしています。
- カスタムテンプレートを使った検索フォーム
<?php get_search_form(array('form' => 'custom-form')); ?>
custom-form.php
という独自のテンプレートファイルを利用して、異なるデザインの検索フォームを生成します。
- 検索ボタンのテキストを変更する
add_filter('get_search_form', function($form) {
return str_replace('searchsubmit', '検索', $form);
});
このコードでは、デフォルトの検索ボタンテキストを「検索」に変更します。
- Ajaxを使用したカスタム検索フォームの表示
function my_custom_search_form() {
echo '<form role="search" method="get" class="search-form" action="'.home_url('/').'">
<label>
<span class="screen-reader-text">'.__('Search for:').'</span>
<input type="search" class="search-field" placeholder="'.esc_attr__('Search …').'" value="'.get_search_query().'" name="s" />
</label>
<input type="submit" class="search-submit" value="'.esc_attr__('Search').'" />
</form>';
}
add_action('wp_head', 'my_custom_search_form');
このコードは、カスタムAjax検索フォームを作成し、ヘッダーに出力します。
これらの例は、get_search_form
関数を利用して、さまざまな形で検索フォームをカスタマイズする方法を示しています。