Contents
この章で学ぶこと
前回は、カスタム投稿用のアーカイブテンプレートを追加することで、制作実績が反映するようになりました。こちらの講座は、DAY.6の続きです。必ずDAY.1から開始し、順番に進めてくださいね。▶︎ DAY.6は、こちらからいよいよこの章で完成となります。細かいパーツを設置してみましょう。

この章では、WordPressの検索フォームを設置します。
WordPressでは、検索フォーム専用のテンプレートとして searchform.php を作成することもできますが、今回は検索フォームを表示したい場所へ直接コードを記述する方法で進めます。
設置した検索フォームからキーワードを入力すると、WordPressが検索結果ページ(search.php)へ自動的に移動し、該当する記事を一覧表示してくれます。
検索フォームを設置する
まずは、以下のコードをコピーして、headerへ貼り付けましょう。
<form class="search-form" role="search" method="get" action="<?php echo esc_url(home_url('/')); ?>">
<input type="search" name="s" placeholder="キーワード検索">
<button type="submit" aria-label="検索"></button>
</form>このコードでは、method="get"で検索キーワードを送信し、actionにはサイトのトップページURLを指定しています。
WordPressでは、入力された検索キーワードが**s**という名前で送信される仕組みになっています。
<input type=”search” name=”s”>
このname="s"はWordPressの決まりになっているため、別の名前に変更すると検索が動作しなくなるので注意しましょう。
search.phpを作成する
次に、テーマフォルダーにsearch.phpを作成します。search.phpは、検索結果を表示するためのテンプレートファイルです。最初は難しく考えず、一覧ページを表示するarchive.phpの内容をコピーして作成して構いません。すでにある「archive.php」をコピーし、「search.php」として複製させましょう。検索結果も「記事一覧」を表示する仕組みなので、アーカイブページとほぼ同じレイアウトで利用できます。
動作を確認する
ブラウザで検索フォームにキーワードを入力し、検索ボタンをクリックしてみましょう。入力したキーワードを含む記事が一覧表示されれば成功です。
検索結果が0件の場合は、「該当する記事はありませんでした。」などのメッセージを表示すると、ユーザーにとって親切なサイトになります。
404エラーページ(404.php)

404エラーページ(404.php)を作成します。404ページとは、存在しないURLへアクセスしたときに表示されるページです。
例えば、
- URLの入力を間違えた
- 削除された記事へアクセスした
- 古いリンクをクリックした
このような場合に、WordPressは404エラーを返します。何も用意していない場合は味気ないエラーページが表示されてしまうため、オリジナルの404ページを作成しておくことで、ユーザーをトップページへ案内できるようになります。
404.phpを作成する
テーマフォルダーに404.phpを作成し、以下のコードを入力しましょう。
<?php get_header(); ?>
<div class="main">
<div id="container" class="wrapper">
<main>
<h2 class="pageTitle">404 NOT FOUND</h2>
<p>お探しのページが見つかりませんでした。</p>
<p>
申し訳ございませんが、
<b><a href="<?php echo home_url('/'); ?>">こちらのリンク</a>から</b>
トップページへお戻りください。
</p>
</main>
</div>
</div>
<?php get_footer(); ?>まずは通常のページと同じように、ヘッダーとフッターを読み込むことにより、サイト全体のデザインと統一されたレイアウトになります。「ページがありません」で終わるのではなく、「こちらからトップページへどうぞ」と案内することも、WebデザインやUIの一部です。
