ワードプレスのget_search_form関数の使用方法・解説

概要

get_search_form関数は、WordPressにおける検索フォームを読み込むための関数です。この関数は、テーマやプラグインの開発者が検索機能を簡単に実装する際によく使われます。主な機能は以下の通りです。

  1. テーマに簡単に検索フォームを追加できる。
  2. カスタム検索フォームを作成する際のベースとなる。
  3. ミニマルデザインの検索ボックスを提供する。
  4. JavaScriptまたはAjaxによる検索機能と組み合わせることができる。
  5. SEO向けに最適化された検索フォームを作成できる。
  6. 検索結果ページへの直接リンクを埋め込むことができる。
  7. さまざまなスタイルやクラスを適用してデザインをカスタマイズ可能。
  8. 検索用のカスタムフィルタを追加することができる。

この関数は、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

サンプルコード

  1. 基本的な検索フォームの表示
<?php get_search_form(); ?>

このコードは、デフォルトの検索フォームを出力します。通常のテーマで使用される基本的な実装です。

  1. カスタムクラスを持つ検索フォーム
<?php get_search_form(array('class' => 'custom-search-form')); ?>

カスタムクラスを追加して、スタイリングを簡単に変更できるようにしています。

  1. カスタムテンプレートを使った検索フォーム
<?php get_search_form(array('form' => 'custom-form')); ?>

custom-form.phpという独自のテンプレートファイルを利用して、異なるデザインの検索フォームを生成します。

  1. 検索ボタンのテキストを変更する
add_filter('get_search_form', function($form) {
    return str_replace('searchsubmit', '検索', $form);
});

このコードでは、デフォルトの検索ボタンテキストを「検索」に変更します。

  1. 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関数を利用して、さまざまな形で検索フォームをカスタマイズする方法を示しています。

この関数について質問する


上の計算式の答えを入力してください