Learning site for website creation

035:検索結果一覧表示テンプレートを追加

  • 投稿日:2020年11月08日

ウィジェットやヘッダーに追加した検索ウィンドウにキーワードを入力して検索してもテンプレート「index.php」の「最後の砦」が表示され、検索結果一覧が表示されない状況です。

検索結果一覧表示用テンプレート「search.php」を作成します。

専用テンプレート

必要に応じて専用のテンプレートを追加できます。他にも追加できるファイルがありますが主なファイルは以下です。

front-page.phpフロントページ表示用テンプレート
home.php主に固定ページの上にあるブログ投稿一覧表示用テンプレート
single.php投稿詳細ページ表示用テンプレート
page.php固定ページ表示用テンプレート
archive.phpアーカイブ一覧全般表示用テンプレート
category.phpカテゴリー一覧表示用テンプレート
tag.phpタグ一覧表示用テンプレート
search.php検索結果一覧表示用テンプレート
date.php日付別一覧表示用テンプレート
404.php404エラー表示用テンプレート
header.php共通ヘッダーパーツテンプレート
footer.php共通フッターパーツテンプレート
sidebar.php共通サイドバーテンプレート
searchform.php検索フォーム用テンプレート
comments.phpコメント用テンプレート

検索結果一覧表示用テンプレート

優先度(高い ← → 低い)
search.phpindex.php

テーマ内に専用テンプレートを追加

カテゴリ一覧表示テンプレートを複製し、検索結果一覧表示用テンプレート「search.php」を追加します。 

フォルダ構成

  • lesson01
    • imgフォルダ
    • archive.php
    • custom-任意の名前.php
    • front-page.php
    • functions.php
    • home.php
    • index.php
    • page.php
    • screenshot.png
    • search.php(追加)
    • single.php
    • style.css

検索キーワード表示関数

カテゴリ一覧表示テンプレート「category.php」はタイトルにカテゴリ名を表示していました。

検索結果一覧テンプレート「search.php」では「検索キーワード」を表示するthe_search_query関数を呼び出します。

この関数はループ外で呼び出すことができます。

<?php the_search_query(); ?>

検索件数を表示

<?php echo $wp_query->found_posts; ?>

このページで出てくる関数

WordPress関数は「公式サイトのドキュメント」で確認しましょう。

WordPress関数

the_search_query()

WordPress変数

$wp_query