WordPressで単一記事で記事毎にテンプレを使い分ける時はこういう方法があるよ(簡易版)

固定ページテンプレートを使う場合は、

<?php 
/* Template Name: ●● */
get_header(); ?>

みたいな記述をget_headerに入れて(●●は任意のファイル名。page.phpの別テンプレならpage-●●.phpになります)別テンプレートを作る事で、ページを新規作成する場合にテンプレートを選ぶことができますけど、単一記事の場合は記事毎にテンプレを使い分ける事が出来ないので、スラッグを利用してテンプレートを使い分けてみました。

「a0001」・「b0001」というスラッグ名の記事の場合のみlpという別テンプレートを使用したい場合、まずsingle.phpに振り分けのコードを書いていきます。

<?php if(is_single( array ( 'a0001','b0001' )) )
{ include (TEMPLATEPATH . '/single-lp.php'); return; }
?>

このコードは「a0001」・「b0001」というスラッグ名の単一記事の場合は、single-lp.phpっていうテンプレを単一記事で使いまっせという意味になります。

ちなみにsingle-lp.phpは新規作成してFTPなんかでテーマのフォルダにアップロードしておく必要がありますのでお忘れなく。

で、single-lp.phpの

<?php get_header(); ?>

を、

<?php 
/* Template Name: lp */
get_header(); ?>

という感じに書き換えて保存すればOKです。これでa0001とb0001というスラッグ名の単一記事は、single-lp.phpが適応されることになります。

増やしたければ、

<?php if(is_single( array ( 'a0001','b0001','c0001','d0001' )) )

という感じにすれば良いですし、逆に1つだけにしたい場合は、

<?php if(is_single('a0001'))

こういう感じでいけると思います。まぁあんまり使うことないと思うんですけど忘備録でw

投稿日:2013年 11月 18日 | カテゴリー:WordPress関連

« »