WordPress:検索キーワードが空(未入力)で検索された場合の表示を変更する方法

WordPress:検索キーワードが空(未入力)で検索された場合の表示を変更する方法

WordPressの検索機能は、検索キーワードが空(未入力)の状態で検索した場合は全件表示される挙動になっていますが、それを空(未入力)の場合はその旨をちゃんと表示させる形にする方法です。

検索キーワードが空(未入力)の状態で検索されたときにしっかりとその旨を伝えたい場合は、条件分岐とget_search_query()を利用して、検索結果を表示させるテンプレート(一般的にはsearch.php)へ下記のような形で記述します。

PHP

if ( empty( get_search_query() ) ) :
  // 検索キーワードがないとき
  echo '<p>検索キーワードが未入力です。</p>';
else :
  // 検索キーワードがあるとき
  if ( have_posts() ) :
    // 該当するエントリーがあるとき
    while ( have_posts() ) : the_post();
      get_template_part( 'template-parts/content' );
    endwhile;
  else :
    // 該当するエントリーがないとき
    echo '<p>検索キーワードに該当するエントリーはありません。</p>';
  endif;
endif;

それぞれコメントも入れていますが、このサンプルの場合は「検索キーワードがないとき」「検索キーワードがあり 且つ 該当するエントリーがあるとき」「検索キーワードがあり 且つ 該当するエントリーがないとき」とで3パターンの表示を検索キーワードや検索結果の有無によって出し分けています。

Close the search window,
please press close button or esc key.