テーマのテンプレートをカテゴリーによって切り替える手順

テーマのテンプレートをカテゴリーによって切り替える手順

テーマを使っていても、テンプレートを変えたいことがありますよね?

投稿で、特定のカテゴリーをだけ別のテンプレートにしたいとか。

切り替えたくなる時って結構あるのでひな形にして保存しておきます。


テーマのテンプレートをカテゴリーによって切り替える作業手順

1、切り替え対象のカテゴリーを作成します。
2、カテゴリーのスラッグを決めておきます。(全角文字でない方がいい)
3、single.php を開きます。(投稿の場合)
4、single.php を single-default.php にして保存します。
5、single.php を以下のように書き直して保存します。
※カテゴリースラッグを仮に changetemp とします。
<?php
if( in_category('changetemp') ) {
include(TEMPLATEPATH . '/single-changetemp.php'); // changetemp 専用のテンプレート

}else{
include(TEMPLATEPATH . '/single-default.php');
}
?>


6、single.php を読み込みます。
7、single-changetemp.php で保存します。
※この時後でわかるように などとコメントを書いておきましょう。
8、single-changetemp.php を好きなように書き換えます。
9、single.php , single-default.php , single-changetemp.php をアップロードしてテストしてください。


カテゴリーで切り替えるほかに、テンプレートを選択させる方法もあります。

テンプレートを選択させる方法


テンプレートを選択させるのは、ベースとするテンプレートを選びます。
※投稿ならば、single.php 固定ページならば page.php

それぞれのファイルの頭に以下のようにコメントを入れます。

固定ページの場合
<?php
/*
Template Name: (選択するときの名前)
*/
?>


投稿ページの場合
<?php
/*
Template Name Posts: (選択するときの名前)
*/
?>



あとは、名前を変更して保存します。

例えば、page.php ならば、page-changetemp.php


テーマのテンプレートをカテゴリーによって切り替える手順まとめ


カテゴリースラッグで切り替える方法よりもテンプレートを選択させた方が楽です。たぶん(笑)

切り替えにしてあげると html 固定的なページになり、html を直接打ち込めるので、

WPになれていないデザイナーとか、ユーザーに触らせたくないページを作るときに便利です。


ACF(アドバンスドカスタムフィールド) などを使うときにもこのノウハウは必須になりますので、

心の片隅にでもおいておいてくださいませ。





スポンサーリンク