WordPressの固定ページテンプレートが表示されない?原因と解決策、そしてオリジナルテンプレートの作り方を徹底解説!
WordPressで素敵な固定ページを作りたいのに、なぜかテンプレートが表示されない…!そんな経験はありませんか?せっかく作ったテンプレートが使えないと、時間も労力も無駄になってしまいますよね。
この記事では、WordPressの固定ページテンプレートが表示されない原因と解決策を徹底的に解説します。さらに、オリジナルのテンプレートを作る方法もステップ形式で紹介するので、ぜひ最後まで読んで、理想の固定ページを実現してください!
なぜ?固定ページテンプレートが表示されない原因を徹底解剖!
固定ページテンプレートが表示されない原因はいくつか考えられます。主な原因と解決策を見ていきましょう。
1. テンプレートファイルが正しく配置されていない
原因: テンプレートファイルは、WordPressテーマのディレクトリに正しく配置されている必要があります。
解決策:
- ファイルの場所を確認: テンプレートファイルは、
wp-content/themes/使用中のテーマ名/ディレクトリに配置されているか確認しましょう。 - ファイル名の命名規則を確認: 固定ページテンプレートは、
page-{スラッグ名}.phpまたはpage-id-{固定ページID}.phpという命名規則に従う必要があります。page-template-{テンプレート名}.phpとしてテンプレートファイルを作成し、固定ページ編集画面でテンプレートを選択する方法もあります。 - FTPソフトで確認: ファイルマネージャーやFTPソフトを使って、ファイルが正しくアップロードされているか確認しましょう。
2. テンプレートファイルにエラーがある
原因: テンプレートファイルにPHPのエラーがあると、テンプレートが正しく読み込まれず、表示されないことがあります。
解決策:
- エラー表示を有効にする:
wp-config.phpファイルにdefine('WP_DEBUG', true);を追記して、エラー表示を有効にしましょう。 - エラーログを確認する: エラーログを確認して、エラーの原因を特定しましょう。エラーログは通常、
wp-contentディレクトリにあります。 - コードを検証する: エディターでコードを検証し、構文エラーやタイプミスがないか確認しましょう。
3. テーマがテンプレートに対応していない
原因: 古いテーマや簡易的なテーマの場合、固定ページテンプレートに対応していない場合があります。
解決策:
- テーマのアップデート: テーマを最新版にアップデートしてみましょう。
- 別のテーマを試す: 別のテーマを試して、テンプレートが正しく表示されるか確認しましょう。
- テーマのカスタマイズ: テーマをカスタマイズして、テンプレートに対応するように修正することも可能です。
4. キャッシュの問題
原因: キャッシュプラグインが有効になっている場合、古いキャッシュが原因でテンプレートが表示されないことがあります。
解決策:
- キャッシュをクリアする: キャッシュプラグインの設定画面から、キャッシュをクリアしてみましょう。
- ブラウザのキャッシュをクリアする: ブラウザのキャッシュもクリアしてみましょう。
テンプレートが表示された!次はオリジナルテンプレートを作ってみよう!
原因を解決してテンプレートが表示されるようになったら、いよいよオリジナルテンプレートの作成です。ここでは、オリジナルの固定ページテンプレートを作る方法をステップ形式で解説します。
1. テンプレートファイルの作成
まずは、テンプレートファイルを作成します。テキストエディタで新しいファイルを作成し、page-template-{テンプレート名}.php という名前で保存します。例えば、「お問い合わせページ」用のテンプレートを作成する場合は、page-template-contact.php のように名前を付けます。
2. テンプレートヘッダーの記述
テンプレートファイルに、以下のテンプレートヘッダーを記述します。
<?php
/**
* Template Name: お問い合わせページ
*/
?>
Template Name は、テンプレートの名前です。WordPressの固定ページ編集画面で表示される名前になります。
3. HTML/PHPコードの記述
テンプレートに必要なHTML/PHPコードを記述します。既存のテーマのテンプレートファイルを参考にしながら、自由にデザインをカスタマイズしてみましょう。
4. テンプレートファイルのアップロード
作成したテンプレートファイルを、WordPressテーマのディレクトリにアップロードします。wp-content/themes/使用中のテーマ名/ ディレクトリにアップロードしてください。
5. 固定ページでテンプレートを選択
WordPressの管理画面から、固定ページを編集し、「ページの属性」にある「テンプレート」で、作成したテンプレートを選択します。
オリジナルテンプレート作成のポイント
- レスポンシブデザイン: スマートフォンやタブレットでも見やすいように、レスポンシブデザインを心がけましょう。
- SEO対策: 検索エンジンに最適化されたテンプレートを作成しましょう。
- アクセシビリティ: すべてのユーザーが使いやすいように、アクセシビリティに配慮したテンプレートを作成しましょう。
オリジナルテンプレートを使う場面
- 特定のコンテンツに特化したデザイン: お問い合わせフォーム、ポートフォリオ、会社概要など、特定のコンテンツに特化したデザインにしたい場合。
- 独自のレイアウト: 他のページとは異なる、独自のレイアウトでページを作成したい場合。
- デザインの統一: 全体のデザインを統一しつつ、特定のページだけデザインを変更したい場合。
オリジナルテンプレート作成の注意点
- セキュリティ: セキュリティに配慮したコードを記述しましょう。
- バックアップ: テンプレートファイルを編集する前に、必ずバックアップを取っておきましょう。
- テスト: 作成したテンプレートを実際に使ってみて、問題がないかテストしましょう。
サンプルテンプレート(お問い合わせページ)
■ サンプルテンプレート(お問い合わせページ) 【タイトル】 お問い合わせページ
【項目1】 お問い合わせフォーム
【項目2】 会社情報
【項目3】 地図
【備考】 お問い合わせフォームには、Contact Form 7などのプラグインを利用すると便利です。会社情報や地図は、必要に応じて追記してください。
<?php
/**
* Template Name: お問い合わせページ
*/
?>
<?php get_header(); ?>
<div id="content">
<div id="inner-content" class="wrap clearfix">
<div id="main" class="eightcol first clearfix" role="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class('clearfix'); ?> role="article" itemscope itemtype="http://schema.org/BlogPosting">
<header class="article-header">
<h1 class="page-title" itemprop="headline"><?php the_title(); ?></h1>
</header> <!-- end article header -->
<section class="entry-content clearfix" itemprop="articleBody">
<?php the_content(); ?>
<h2>お問い合わせフォーム</h2>
<?php echo do_shortcode('[contact-form-7 id="123" title="お問い合わせフォーム"]'); ?>
<h2>会社情報</h2>
<p>株式会社〇〇</p>
<p>住所:〇〇県〇〇市〇〇町〇〇</p>
<p>電話番号:000-000-0000</p>
<h2>地図</h2>
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3456.789012345678!2d139.00000000000002!3d35.00000000000001!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0000000000000000%3A0x0000000000000000!2z44Ki44Op44Kk44OX44O8!5e0!3m2!1sja!2sjp!4v1678888888888" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
</section> <!-- end article section -->
<footer class="article-footer">
<?php the_tags('<p class="tags"><span class="tags-title">' . __('Tags:', 'bonestheme') . '</span> ', ', ', '</p>'); ?>
</footer> <!-- end article footer -->
</article> <!-- end article -->
<?php endwhile; ?>
<?php else : ?>
<article id="post-not-found" class="hentry clearfix">
<header class="article-header">
<h1><?php _e("Oops, Post Not Found!", "bonestheme"); ?></h1>
</header>
<section class="entry-content">
<p><?php _e("Uh Oh. Something is missing. Try double checking things.", "bonestheme"); ?></p>
</section>
<footer class="article-footer">
<p><?php _e("Error message", "bonestheme"); ?></p>
</footer>
</article>
<?php endif; ?>
</div> <!-- end #main -->
<?php get_sidebar(); ?>
</div> <!-- end #inner-content -->
</div> <!-- end #content -->
<?php get_footer(); ?>
まとめ
この記事では、WordPressの固定ページテンプレートが表示されない原因と解決策、そしてオリジナルのテンプレートを作る方法を解説しました。テンプレートが表示されない問題に直面している方は、この記事を参考に、原因を特定し、解決策を試してみてください。また、オリジナルのテンプレートを作成して、理想の固定ページを実現しましょう!