ixixixさん、こんにちは。
<?php
$post = $wp_query->post;
if ( in_category('category1') ) {
include(TEMPLATEPATH.'/single1.php');
}
if ( in_category('category2') ) {
include(TEMPLATEPATH.'/single2.php');
}
if ( ! in_category('category1') && ! in_category('category2') ) {
include(TEMPLATEPATH.'/single0.php');
}
?>
みたいな感じですか?
こういうことじゃないです?
// 現在、指定されているカテゴリのカテゴリIDをクエリから取得
$category_id = get_query_var('cat');
// カテゴリIDからカテゴリ情報を取得
$category = get_the_category($category_id);
// カテゴリ名で条件分岐
if ($category->name == 'category1') {
include(TEMPLATEPATH.'/single1.php');
} elseif ($category->name == 'category2') {
include(TEMPLATEPATH.'/single2.php');
} else {
include(TEMPLATEPATH.'/single0.php');
}
jim912様
返信ありがとうございます!
教えて頂いた方法で試してみましたが、
結果は同じで
http://example.com/category1/postame.php
http://example.com/category2/postame.php
両ページともsingle1.phpが呼び出されています。
キャッシュやスペルミスなど何度も確認したのですが…。
sigeyama様
返信ありがとうございます。
こちらも試してみましたが、両ページとも
single0.phpが呼び出されてしまいました。
phpがあまり分からず恐縮なのですが、
もし別の方法を御存知でしたらお教え頂けましたら大変嬉しいです!
jim912様
すみません、確認が足りなかったのですが、
教えて頂いた方法でやってみた場合、
single1.phpのレイアウトの後ろに
single2.phpのレイアウトが続くという
状態になっておりました。
一枚のページに、single1.phpとsingle2.phpが
順番に読み込まれています。
http://example.com/category1/postame.php
http://example.com/category2/postame.php
ともに、表示状態は同じでした。
以上補足いたします!
jim912さん
すみません、間違えてますね。
ixixixさん
パーマリンクの設定で以下の様になっていると思ったのですが、違いますか?
/%category%/%postname%/
これなら、以下の修正でカテゴリが取れると思います。
get_query_var('cat');
ではなく、
get_query_var('category_name');
でした。
修正したコードは以下です。
// 現在、指定されているカテゴリ名を取得
$category_name = get_query_var('category_name');
// カテゴリ名で条件分岐
if ($category_name == 'category1') {
include(TEMPLATEPATH.'/single1.php');
} elseif ($category_name == 'category2') {
include(TEMPLATEPATH.'/single2.php');
} else {
include(TEMPLATEPATH.'/single0.php');
}
sigeyama様
ご確認ありがとうございます!
パーマリンクは、
/%category%/%postname%/
としています。
頂いたコードで、希望通りの表示ができました!
今後もっと勉強に励んで参ります。
本当にありがとうございました。