WordPressで親カテゴリとその子カテゴリに対し、共通のテーマを指定する際に下記の記述をするとできます。
カテゴリがtestの場合、
$array_is_category = explode(‘,’,get_category_parents($cat,false,’,',true));
if(is_category(‘test’) || array_search(‘test’,$array_is_category) === 0){
//testカテゴリのとき
}else{<br />
//その他のカテゴリのとき
}
仕組みとしては、子カテゴリの親カテゴリの情報をget_category_parentsで取得し、
explodeを使い、配列で$array_is_categoryに格納し、
array_searchで一番上のカテゴリに対し検索をかけます。
上の記述でいうと、
is_category(‘test’) でtestカテゴリか判断し、
array_search(‘test’,$array_is_category) === 0で一番上の親カテゴリがtestカテゴリか判断して表示させてます。
- Newer: ギネス認定!世界最速のギタリスト
- Older: クラスCでIP分散してSEO対策になるのか?
Comments:2
- 通りすがり 09-10-08 (木) 22:09
-
こんにちは。
とても役立つ情報ありがとうございました。
1点だけソースで確認をさせてください。
array_search(’test’,$array_is_category)
部分は正確には「カテゴリ名」ではなく「スラッグ名」ですよね?
get_category_parents($cat,false,’,’,true)
上記の最後にtrueをつけるとスラッグ名を返すという意味になります。
ですから、スラッグ名を探している事になると思いますので。
- admin 09-10-09 (金) 1:23
-
通りすがりさん
ご指摘の通りですw
>>カテゴリがtestの場合、
ではなく
スラッグ名がtestの場合、ですね。
どうもごっちゃにしてしまいました。
そういう私は、スラッグ名で設定してますしね。
Trackbacks:0
- Trackback URL for this entry
- http://webcross01.net/archives/433.html/trackback
- Listed below are links to weblogs that reference
- WordPressのカテゴリ毎にテーマを変更する方法 from WEB in the morning

最近のコメント