特定のページのみをカスタマイズする2つの方法

テーマ

wptheme_pagecustom

固定ページでは page.php というテンプレートが使用されていますが、
特定のページでだけあれを表示したい、これを消したい、などあると思います。

今回は特定のページのみカスタマイズする方法を紹介します。
例として、特定のページにのみお問い合わせリンクを表示してみます。
方法は2通りあるので、お好きなやり方でどうぞ。

1、テーマファイル内の page.php を編集する方法

特定のページのIDを調べる

現在使っているテーマファイル内の page.php を編集します。
その前に、カスタマイズしたい固定ページのIDを調べてみます。

wptheme_pagecustom_sample01

特定のページの編集画面です。
このページのURLを確認すると、post=268 なんて文字がありました。

../wp-admin/post.php?post=268&action=edit

これがページIDです。

ページテンプレートを編集する

それでは page.php に特定のページ用のコードを記述します。

<?php if ( is_page('268') ): ?>
	<a href="お問い合わせURL">お問い合わせはこちら!</a>
<?php endif; ?>

このソースを表示したい場所に記述することで、特定のページにのみ
お問い合わせリンクが表示されます。

<?php if ( is_page('268') OR is_page('270') ): ?>
	<a href="お問い合わせURL">お問い合わせはこちら!</a>
<?php endif; ?>

もし特定のページが複数ある場合は、こんな風に OR か || で区切って指定します。

2、テーマファイル内に専用テンプレートを作成する方法

特定のページのIDを調べる

上のやり方同様、カスタマイズしたい固定ページのIDを調べます。

wptheme_pagecustom_sample01

特定のページの編集画面のURLを確認してページIDをチェックします。

../wp-admin/post.php?post=268&action=edit

ありました。268がページIDです。

特定のページ用のテンプレートを作成、編集する

それではページテンプレートを作成します。
テーマファイル内にある page.php をコピー(複製)して、別名のファイルを作成しましょう。
ファイル名は

page-{ページID}.php

で作成します。今回の例では page-268.php ですね。

※ページIDの他にも、ページスラッグで指定する方法もあります。
スラッグは、固定ページ編集画面のタイトルフォームの下に表示されていて変更可です。

作成したファイルに、特定のページ用のコードを記述します。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
	<div class="entry">
		<?php the_content(); ?>
		
		<a href="お問い合わせURL">お問い合わせはこちら!</a>
	</div>
<?php endwhile; endif; ?>

お問い合わせリンクを記事本文の下に追加しました。
これでOKです。

wptheme_pagecustom_sample02

特定のページにお問い合わせリンクが表示されました!

今回2通りの方法を紹介しましたが、
page.php を編集する方法 は、編集点の少ないケースで
ページテンプレートを作成する方法 は、変更点ががっつりあるケースで使用するといいですね。

テーマ

関連記事