404.phpは固定ページで作る
404.phpを固定ページで作るとクライアント様が自身で書き換えられるし、とても便利だと思う。
=404.php= <?php get_header(); ?> <article> <div class="articleWrap"> <h3 class="heading"><?php echo get_the_title(固定ページのID); ?></h3> <div class="page-inner"> <?php $page_data = get_page_by_path('notfound-page'); $page = get_post($page_data); $content = $page->post_content; echo apply_filters('the_content', $content); ?> </div> </div> </article> <?php get_sidebar(); ?> <?php get_footer(); ?>
注意点は、上の赤字部分。
ここは固定ページのスラッグなのだが、ここを’404’とか’404-page’など、404を入れたらエラーになってしまう。
‘page-404’などもダメ。
ついでに、category.phpやarchive.phpで使用する「content-none.php」ファイルもいわゆる404ページなので、こちらは次のようにすると良い。
=template-parts/content-none.php=
<div class="articleWrap content-none">
<?php if (is_archive()) : ?>
<h1 class="entry-title">お探しのページは見つかりませんでした</h1>
<?php endif; ?>
</div>