CSSで指定した背景色を、カテゴリごとに読み分ける設定をしたい
-
おはようございます、大変お世話になっております。
フォーラムのバックナンバーと、皆さまのあたたかなアドバイスのおかげで、WPのサイトが仕上がってきており、本当に感謝しております。
本日はもうひとつ教えていただけましたら嬉しいです。
どうぞよろしくお願い致します!教えていただきたいのは、CSSとカテゴリーの記載をベースにして、サイトの背景色を分ける方法です。
具体的な説明をお許しください。
サイトの視覚的な見やすさ……今、どの特集の中にいるのか分かりやすくするため……に、特定のグループ(カテゴリ)の時に、背景色を変えたいと考えています。具体的には、
カテゴリworkshopの中にいる時はAという背景色をリンクして
カテゴリbooksの時にはB
カテゴリstoreの時にはC
それ以外の時には背景色なしという風な指定をCSSで書いて、そのカテゴリが選択された時に、CSSで指定したclassの背景を読ませたいと考えています。
読み分ける必要があるのは背景色だけですので、背景色を違えたスタイルシートを複数作って分岐設定で読み分ける方法ではなく、1枚のスタイルシートの中で分けた複数のclass指定を、カテゴリごとに読み分けるやり方を希望しています。いろいろ調べましたら、フォーラムの
http://ja.forums.wordpress.org/topic/1589?replies=6
(カテゴリごとにヘッダーを使い分ける)の記事の考え方が、イメージにいちばん近いと思いましたので、やってみました。
そして結果、最後の式の設定と場所が分からないので、ぜひ教えてください!
よろしくお願いします。まずやったことは、メインCSSファイルの背景色を想定カテゴリごとに分けたことです。
背景を設定する項目のCSSをコピペで追加・分岐し、以下のようにclass分けをしました。body{
margin: 0;
background: url(#) #fff center top;
text-align: center;
}body-books{
margin: 0;
background: url(images/bg/maki.gif) #fff center top;
text-align: center;
}body-workshop{
margin: 0;
background: url(images/bg/drop2.gif) #fff center top;
text-align: center;
}貼られたリンク画像が実際に読み出せる(リンク切れになっていない)ことも確認しました。
次に読み出し先の設定なのですが、最終的に
〜のカテゴリが指定された時には、CSSで指定された背景色の〜class指定を読み出す
という式を書いて反映させたいと思っています。
そして、ここからがいろいろ分からないので、ぜひ教えてください。
よろしくお願いします。参考にしたフォーラムの記事
http://ja.forums.wordpress.org/topic/1589?replies=6
に私が最初に示したのはこんなに複雑なことをやる内容ではなくて、
(1)
<div class=”cat-<?php echo $cat->cat_ID; ?>”></div>こう記述しておくだけで実際には
(2)
<div class=”cat-1″></div>
などのように変換されて表示されるので、あとはcssで(3)
.cat-1 {
background:url(“img/header.gif”) no-repeat;
}
を必要なだけ記述でよろしいのでは?ということです;)という箇所がありました。(番号は私がふりました)
(3)は済みましたので、次に(1)(2)の箇所ですが、フォーラムの方はヘッダー画像を変えたいというご依頼でした。
私の場合は背景色を変えるのですから、書き込み先はsingle.phpなどのファイルでよいのでしょうか。single.php, index.php, search,phpにそれぞれ
<body>
<!– container Start –>
<div id=”container”>
<!– /container Start –>という式がありますが、上の(2)(3)に当たるところは、ここなのかなあと思っています。
またheader.phpにも
<link rel=”stylesheet” href=”<?php bloginfo(‘stylesheet_url’); ?>” type=”text/css” media=”screen,tv,print” />
という記載があります。
複数のスタイルシートをがっつり読み分けるのなら、ここで分岐設定をした方がよいと、テンプレート制作者の方にアドバイスをいただきました。
でも今回の場合、スタイルシートは1枚だけで、その中のclass指定を読み出すので、該当箇所はここではないのかなあ……と思っております。そこで重ねてご質問です。
私の望むやり方の場合、式を書き込むファイルと場所はどこになるのでしょうか?
私の知識の限界線は、PHPの手前で止まっていますので、教えていただけますと幸いです。また、自分では合っていると思っているのですが、やり方全体の方向性が間違っていましたら、それもぜひ教えていただけますと幸いに思っています。
どうぞよろしくお願い致します。
- トピック「CSSで指定した背景色を、カテゴリごとに読み分ける設定をしたい」には新たに返信することはできません。