【目次】
リクエストされたページが存在しなかった時に表示するためのページ(= 404ページ)を動的化していく

「404.html」に記述していたコードを「404.php」に全てコピペする
headerやfooter、sidebarなどの共通パーツを、それぞれ共通化したテンプレパーツを読み込むコードに置き換えていく
404のメインコンテンツ部分で、トップページに戻るリンクなど動的にする箇所があれば適宜動的にする 完成コード例)
<!--== header.php 読み込み ==-->
<?php get_header(); ?>
<!-- content -->
<div id="content" class="m_one m_404">
<div class="inner">
<!-- primary -->
<main id="primary">
<!-- entry -->
<div class="entry-404">
<h1 class="entry-404-head"><span>404</span>Not Found</h1><!-- /entry-404-head -->
<div class="entry-404-lead">お探しのページが<br class="m_sp" />見つかりませんでした</div><!-- /entry-404-head -->
<p class="entry-404-content">申し訳ありませんが、お探しのページが存在しないか、アクセスできません。<br>入力されたURLが正しいかご確認ください。</p><!-- /entry-404-content -->
<div class="entry-404-btn"><a class="btn" href="<?php echo home_url('/'); ?>">トップページに戻る</a></div><!-- /entry-404-btn -->
</div><!-- /entry-404 -->
</main><!-- /primary -->
<!--== sidebar.phpの読み込み ==-->
<?php get_sidebar(); ?>
</div><!-- /inner -->
</div><!-- /content -->
<!--== footer.phpの読み込み ==-->
<?php get_footer(); ?>
作り終えたら、存在しないURLを入力し、404ページがきちんと表示されるか確認する
「search.php」を使って検索結果ページを作成する

「search.html」に記述していたコードを「search.php」に全てコピペする
headerやfooter、sidebarなどの共通パーツを、それぞれ共通化したテンプレパーツを読み込むコードに置き換えていく
検索結果のタイトル(上記画像「”テスト”の検索結果:6件」の部分)を下記コードを使って動的にする
<?php the_search_query(); ?>
<?php echo $wp_query->found_posts; ?>
//例
<!-- archive-head -->
<div class="archive-head">
<div class="archive-lead">SEARCH</div>
<h1 class="archive-title m_search"><span>"<?php the_search_query(); ?>"</span>の検索結果:<?php echo $wp_query->found_posts; ?>件</h1><!-- /archive-title -->
</div><!-- /archive-head -->
//置き換え前
<!-- archive-head -->
<div class="archive-head">
<div class="archive-lead">SEARCH</div>
<h1 class="archive-title m_search"><span>"タイトル"</span>の検索結果:38件</h1><!-- /archive-title -->
</div><!-- /archive-head -->
メインコンテンツ部分を動的にしていく。なお、検索結果のタイトル以外は「archive.php」と同じはずなので、念のため確認しつつコピペ出来る所はコピペしていく。
完成コード例)
<?php get_header(); ?>
<!-- content -->
<div id="content">
<div class="inner">
<!-- primary -->
<main id="primary">
<!--== breadcrumb読み込み ==-->
<?php get_template_part('template-parts/breadcrumb'); ?>
<!-- archive-head -->
<div class="archive-head">
<div class="archive-lead">SEARCH</div>
<h1 class="archive-title m_search"><span>"<?php the_search_query(); ?>"</span>の検索結果:<?php echo $wp_query->found_posts; ?>件</h1><!-- /archive-title -->
</div><!-- /archive-head -->
<?php
//記事があればentriesブロック以下を表示
if (have_posts()) : ?>
<!-- entries -->
<div class="entries m_horizontal">
<?php while (have_posts()) : the_post(); //記事数分ループ?>
<!-- entry-item -->
<a href="<?php the_permalink(); //記事のリンクを表示?>" class="entry-item">
<!-- entry-item-img -->
<div class="entry-item-img">
<?php
if (has_post_thumbnail()) {
// アイキャッチ画像が設定されてれば大サイズで表示
the_post_thumbnail('large');
} else {
// なければnoimage画像をデフォルトで表示
echo '<img src="' . esc_url(get_template_directory_uri()) . '/img/noimg.png" alt="">';
}
?>
</div><!-- /entry-item-img -->
<!-- entry-item-body -->
<div class="entry-item-body">
<div class="entry-item-meta">
<!-- trueを引数として渡すとリンク付き、falseを渡すとリンクなし -->
<div class="entry-item-tag"><?php my_the_post_category(false); ?></div><!-- /entry-item-tag -->
<time class="entry-item-published" datetime="<?php the_time('c'); ?>"><?php the_time('Y/n/j'); ?></time><!-- /entry-item-published -->
</div><!-- /entry-item-meta -->
<h2 class="entry-item-title"><?php the_title(); //タイトルを表示?></h2><!-- /entry-item-title -->
<div class="entry-item-excerpt">
<?php the_excerpt(); //抜粋を表示?>
</div><!-- /entry-item-excerpt -->
</div><!-- /entry-item-body -->
</a><!-- /entry-item -->
<?php endwhile; ?>
</div><!-- /entries -->
<?php endif; ?>
<!--== paginationの読み込み ==-->
<?php get_template_part('template-parts/pagination'); ?>
</main><!-- /primary -->
<!--== sidebar.phpの読み込み ==-->
<?php get_sidebar(); ?>
</div><!-- /inner -->
</div><!-- /content -->
<!--== footer.php 読み込み ==-->
<?php get_footer(); ?>