get_search_query()


WordPressのget_search_query()関数は、検索フォームでユーザーが入力した検索クエリを取得するために使用されます。この関数は、検索結果ページやカスタム検索フォームでよく利用されます。

構文

get_search_query( bool $escaped = true );
  • $escaped(bool) — エスケープされた検索クエリを返すかどうかを指定します。デフォルトはtrueで、エスケープされたクエリを返します。

例1: 検索クエリの表示

検索フォームで入力されたクエリを表示する基本的な例です。

<?php echo get_search_query(); ?>

例2: エスケープされていない検索クエリの取得

エスケープされていない検索クエリを取得する例です。

<?php echo get_search_query(false); ?>

例3: 検索クエリを使用した条件分岐

検索クエリが存在する場合に特定のメッセージを表示する例です。

<?php if ( get_search_query() ) { echo '検索クエリ: ' . get_search_query(); } ?>

例4: 検索クエリを使用したカスタム検索フォーム

検索フォームに前回の検索クエリを表示する例です。

<input type="text" name="s" value="<?php echo get_search_query(); ?>" placeholder="検索...">

例5: 検索クエリを使用したカスタムクエリ

検索クエリを使用してカスタムクエリを実行する例です。

<?php
$search_query = get_search_query();
$args = array( 's' => $search_query );
$query = new WP_Query( $args );
if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); the_title(); } }
?>

例6: 検索クエリを使用したリダイレクト

特定の検索クエリが入力された場合にリダイレクトする例です。

<?php
if ( get_search_query() == '特定のキーワード' ) {
    wp_redirect( 'https://example.com' );
    exit;
}
?>

注意点

  • 検索クエリが存在しない場合、get_search_query()は空の文字列を返します。
  • エスケープされたクエリを返すため、セキュリティ上のリスクを軽減できます。

関連機能: