web-dev-qa-db-ja.com

カテゴリー特有のテーマ?

私のクライアントは、各カテゴリページに特別な外観を実装したいと考えています。子供向けのテーマのようなものです。彼女は背景画像を移動し、いくつかのグラフィックを変更し、ユーザーが訪れているカテゴリ(ホラー、ロマンスなど)に従って色を微調整したいと考えています。

インポートされたCSSスタイルを使用してページごとに異なるテンプレートを作成する以外に、これを実行するための合理的な方法はありますか?それとも、これを達成するための唯一の道なのでしょうか。

更新:以下の答えはすべて素晴らしいです。私たちの目的のために、する最も簡単なことは現在のスタイルを上書きするために "body_class()"によって提供されたカテゴリ特有のクラスを使うことでした。

ありがとうございます。

1
Garrett

変更がHTMLマークアップの変更を必要としない場合は、条件付きで追加のCSSスタイルファイルをロードすることでそれを達成できます。 Codexの 条件付きタグ>カテゴリページ および wp_enqueue_style() を参照してください。

1
Rarst

テーマの大部分は、header.phpfooter.phpの3つのファイルで構成されています。 )style.css.

代替のヘッダ、フッタ、スタイルシートをロードしたい場合は、カテゴリテンプレート内の適切な呼び出し(category.php)を更新して、別のヘッダ、フッタ、スタイルシートを取得するだけです。 。

例です。

get_header();

になります。

get_header( 'cat' );

header.phpの代わりにheader-cat.phpを含めます。
get_footer()呼び出しでも同じことができ、別のフッターファイルを含めることができます。

代わりのヘッダー/フッターファイルの使用は、Codexページでカバーされています。
http://codex.wordpress.org/Function_Reference/get_header
http://codex.wordpress.org/Function_Reference/get_footer

スタイルシートの場合は、これを(新しいヘッダファイルで)変更するだけです。

<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />

のようなもののために..

<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_directory' ); ?>/style2.css" />

または、他の回答で提案されているようにwp_enqueue_styleを使用します。

他の種類のページに影響を与えずに完全にカスタムのHTMLおよびCSSを作成します(既存のヘッダー/フッター/スタイルシートを変更する必要はありません)。

0
t31os