Wordpressをインストールしてみた

ブログ(Wordpress)を作成してみました。サーバの設定やWordpressの設定など情報を発信しています。

カテゴリごとにテンプレートを切り替える

公開日| 2010年11月08日 | 1つのコメントがあります。

こんにちわ。たかちんです。

さて、今回は、前回の記事で紹介したプラグイン 「Custom Post Template」を用いて、 記事ごとのテンプレートの切り替え、ページごとのテンプレートの切り替えを実現しました。(ページごとの切り替えは、デフォルトで動作するんですけど、流れで説明しました。 ^^;

今回は、カテゴリごとにテンプレートを切り替える方法です。
これは、プラグインを必要としません。

では、早速、簡単に解説してみます。

カテゴリごとのテンプレートを用意する

カテゴリごとにテンプレートを切り替えるためには、カテゴリごとのテンプレートを用意だけです。 ^^;

あまりにも簡単なので、ちょっとびっくりされたかもしれません。
ただ名前の付け方が違うだけなんですね。

通常は、
category.phpとつけるとことを category-8.phpなどと-8のようにハイフン+カテゴリ番号をつけてテンプレートを作成するだけです。
※または、ハイフン+スラッグ名をつけても可。例)category-samaple3.php

カテゴリIDは、昔のWordpressでは、常に表示されていましたが、現在は、表示されていません。
カテゴリの管理画面で、カテゴリ名にマウスをのせると、リンクアドレスが表示されます。その中にカテゴリ番号が表示されます。


現在は、スラッグ名も使えるので、スラッグ名を使うことが推奨されているんでしょうかね。(想像です。 ^^;

では、簡単なテスト用テンプレートを作ってみましょう。

1
2
3
4
5
これは、テンプレートごとのテスト用テンプレートです。<br />
<?php if (have_posts()) : while (have_posts()) : the_post();  ?>
<h1><?php the_title(); ?></h1>
<?php the_content('続きを読む'); ?>
<?php endwhile; endif; ?>

例えば、ターゲットのカテゴリIDが8なら、これを、category-8.phpでテーマ(テンプレート)のディレクトリへ保存します。
カテゴリ番号=8のカテゴリリストを表示してみましょう。


こんな感じで表示されます。ここでのサンプル記事が1つなので、リストも1つしかありません。
実際のカテゴリリストは、こちらです。

しかし、これは、あくまでカテゴリリストを表示するためのテンプレートでしかありません。
カテゴリのすべての記事に影響するわけではありません。

つまりは、どんなに独自のテンプレート(テーマ)を持つカテゴリでも、そのカテゴリの記事を表示した場合は、その独自のテンプレート(テーマ)は適用されないわけです。

では、カテゴリの記事に対して、この独自のテンプレート(テーマ)を適用するには、どうしたら良いでしょうか。

カテゴリの全ての記事にテンプレートを適用する

これは、single.php あるいは、index.php に手を加える必要があります。
つまりは、記事を表示するテンプレートファイル(single.phpが存在すれば、そちらが優先されます。)

single.php あるいは、index.php の先頭に以下のコードを追加します。

1
2
3
4
5
6
7
8
9
10
11
12
<?php
	$cat = get_the_category();
	if(count($cat)>0){
		$cat = $cat[0];
		$cat_id = $cat->cat_ID;
		if($cat_id==8){
			include(TEMPLATEPATH."/category-8.php");
			exit;
		}
	}
 
?>

記事を表示する前に、カテゴリIDを取り出して、そのIDが対象となるカテゴリIDの場合は、そのテンプレートファイルを読み出して終了・・・だけです。

※この例では、カテゴリID=8の場合で記述されています。カテゴリIDが異なる場合は、8で記述している箇所を変更してください。

これを用いると、該当するカテゴリの記事は、以下のように表示されます。


こんな感じで表示されます。<!–more–>以降も表示されてますね。
実際の記事は、こちらです。

ざっと、こんな感じです。少し、テンプレートに手を加えることで、簡単に切り替えできるんですね。

前回の記事で紹介した内容も、記事数が少なければ、これと同じようなやり方でも切り替えることができます。

でも、プラグインが汎用的ではありますから、そちらが良いのかもしれません。この辺りは、テーマ(テンプレート)をいじる人の好みかもしれませんね。 ^^;


ブックマークへ追加: このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Trackback URL

このコメントは管理人から承認された後、表示されます。


コメント

One Response to “カテゴリごとにテンプレートを切り替える”

  1. FireFox先読み機能対策としてnextリンクを解除する : Wordpressを無料XREAへインストールしてみた
    2010年11月30日 @ 04:26:53

    [...] カテゴリごとにテンプレートを切り替える [...]

コメントをどうぞ





*




このサイトは?


ブログ(Wordpress)を作成してみました。サーバの設定やWordpressの設定など情報を発信しています。


無料XREAは、XREA Free 、 有料XREAは、XREA Plus といわれるXREAのプラン名を指しています。

Wordpressの設定方法は、いずれも変わりません。また、CORE SEVERも同じように設定できます。
無料XREAは有料XREAに比べ、広告が常に表示され、サーバーの利用限度値が小さく設定されてあります。

カテゴリー

タグクラウド

リンク

ブックマークへ追加

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

にほんブログ村 IT技術ブログ WordPressへ
にほんブログ村