WordPress 404 Not Found ページ

  Code Tips minimum Theme

「404 Page Not Found(ページが見つかりません)」ページを作成します。

「404 Page Not Found」ページとは、存在しないURL(ページ)を指定されたときに表示させるページです。

WordPressがインストールされたURLの中では、【404.php】テンプレートファイルが表示されます。
【404.php】ファイルがない場合は【index.php】が表示されます。

 

404 Page Not Found ページの作成

新規でphpファイルを作り、ファイル名を【404.php】として保存します。

ファイルには「404 Page Not Found」ページで表示させたい内容を書きます。
サイトヘッダーとサイトフッターは get_header()get_footer() で【header.php】と【footer.php】を読み込みます。

また、ページ内に「サイト内検索」を設置しておきます。
「サイト内検索」は get_search_form() で設置することができます。

<?php get_header(); ?>
<h2>404 Page Not Found</h2>
<h3>申し訳ございません、お探しのページは見つかりませんでした。</h3>
<p>
  入力したURLが誤っているか、URLが変更・削除された可能性があります。
  <br>
  URLをご確認の上、再読み込みするかトップページへお戻りください。
  またはサイト内検索をご活用ください。
</p>
<?php get_search_form(); ?>
<?php get_footer(); ?>

 

get_search_form()

テーマの searchform.php ファイルを使用して検索フォームを表示します。無ければ WordPress に組み込みの検索フォームを表示します。

WordPress Codex : 関数リファレンス/get search form

get_search_form( $echo )

 

パラメータ
引数 説明
$echo
真偽値
オプション
true ならフォームを表示します。false なら表示せずフォームを文字列として返します。
初期値:true
戻り値
文字列 パラメータ $echo が false ならフォームの HTML を返します。

 

テーマ内に【searchform.php】が無い場合は WordPress に組み込まれたデフォルトの検索フォームが表示されます。

この検索フォームには「HTML4」で書かれたフォームと「HTML5」で書かれたフォームがあり、何も指定しなければ「HTML4」で書かれたフォームを出力します。

「HTML5」で書かれたフォームを」出力する場合は【functions.php】に以下を追加します。

add_theme_support('html5', array('search-form'));

 

Code Tips minimum Theme

【404.php】

<?php get_header(); ?>
<h2>404 Page Not Found</h2>
<h3>申し訳ございません、お探しのページは見つかりませんでした。</h3>
<p>
  入力したURLが誤っているか、URLが変更・削除された可能性があります。
  <br>
  URLをご確認の上、再読み込みするかトップページへお戻りください。
  またはサイト内検索をご活用ください。
</p>
<?php get_search_form(); ?>
<?php get_footer(); ?>

 

【functions.php】

<?php
// css
function register_style() {
  wp_register_style('style', get_stylesheet_uri(), array(), false, 'all');
}
function add_stylesheet() {
  register_style();
  wp_enqueue_style('style');
}
add_action('wp_enqueue_scripts', 'add_stylesheet');

// sidebar
function my_widgets_init() {
  $my_widgets_param = array(
    'name' => 'Sidebar',
    'id' => 'sidebar-1'
  );
  register_sidebar( $my_widgets_param );
}
add_action( 'widgets_init', 'my_widgets_init' );

// search-form >> html5
add_theme_support('html5', array('search-form'));
?>