web-dev-qa-db-ja.com

カテゴリページのカスタムスタイル

そのカテゴリのみのページを表示しているときに、ページ上のスタイルを特定のカテゴリに対して異なるように表示する方法はありますか?

1
GSto

カテゴリごとに異なるレイアウトが必要な場合は、@ EAMannがお勧めです。 OTOH たとえばCSSごとに背景色を変えたいだけの場合は とすると、ほとんどのテーマで<body>要素のCSSクラスとしてcategory slugが含まれることになります。テーマによって出力される、あるいはその他のHTML要素。 (そして、あなたのテーマがそうでなくても、あなたはいつもあなた自身でその機能性を追加することができました。)

例えば、TwentyTenテーマはまさにそれを行います。次のURLの場合:

http://example.com/category/category-1/

<body>要素は次のようになります。

<body class="archive category category-category-1">

上記のことを知っているなら、あなたはあなたのテーマのstyle.cssファイルに以下のスタイルを追加して、ページごとに異なる色の背景を持つことができます(もちろんここでは非常に単純化しています。

/* style.css */
body.category-category-1 {
  background-color: red;
}
body.category-category-2 {
  background-color: green;
}
body.category-category-3 {
  background-color: blue;
}

あなたのテーマがこれをしているかどうかを理解するためにあなたが本当にする必要があるのは、興味のあるカテゴリページの ソースの表示 とあなたのカテゴリスラッグの検索です。

子供のテーマを使う

もちろん、あなたはおそらくあなたのテーマのstyle.cssを修正したくないでしょう。代わりに、 子テーマ を作成することをお勧めします。ここで私が子供のテーマについて話すところいくつかの答えがあります:

すべてのテーマが子テーマをサポートしているわけではないことに注意してください。論文が注目すべき例の1つです。これらのテーマの場合は、それらがどのように拡張されているのかをさらに詳しく調べる必要があります。

4
MikeSchinkel

必要に応じて、カテゴリごとに 異なるテンプレート を独自のスタイル定義セットで用意できます。その場合、特定のカテゴリに対してページのスタイルを変えることができますが、そのカテゴリのみのページを表示するときはのみにします。

あなたのテーマにこれらを使用してください。

  1. category-slug.php
  2. category-ID.php
1
EAMann

エリックが言ったこと。しかし、マークアップではなくスタイルだけを変更したい場合は、もっと簡単な方法があります。テーマの開始ボディタグにbody_class()呼び出しが含まれている限り、WPはあらゆる種類の便利なCSSフックをページに追加します。デフォルトのマークアップは、次のクラスをカテゴリアーカイブのbody要素に追加します。

  • アーカイブ
  • カテゴリー
  • カテゴリスラッグ

あなたが好きなようにそれをスタイルすることができます。多くのテーマフレームワークはあなたのボディクラスにさらに有用なフックを追加するでしょう、それらのうちのいくつかは私がおそらく現実のユースケースを見ることができないけれども。

0
goldenapples