it-swarm.com.de

Kategoriespezifische Themen?

Mein Kunde möchte für jede unserer Kategorieseiten ein spezielles Erscheinungsbild implementieren. Ein bisschen wie untergeordnete Themen ... sie möchte das Hintergrundbild verschieben, ein paar Grafiken ändern und die Farben entsprechend der Kategorie, die der Benutzer besucht, anpassen (Horror, Romantik usw.).

Gibt es eine vernünftige Möglichkeit, dies zu tun, außer eine andere Vorlage für jede Seite mit importierten CSS-Stilen zu erstellen? Oder ist das wirklich der einzige Weg, um dies zu erreichen?

UPDATE: Die folgenden Antworten sind alle großartig. Für unsere Zwecke war es am einfachsten, die von "body_class ()" bereitgestellten kategoriespezifischen Klassen zu verwenden, um aktuelle Stile zu überschreiben.

Vielen Dank!

1
Garrett

Wenn für Änderungen keine Änderungen am HTML-Markup erforderlich sind, können Sie dies erreichen, indem Sie bedingt zusätzliche CSS-Stildateien laden. Siehe Bedingte Tags> Eine Kategorieseite und wp_enqueue_style() im Codex.

1
Rarst

Der Großteil Ihres Themas besteht aus drei Dateien, header.php , footer.php und style.css .

Wenn Sie einen alternativen Header, eine alternative Fußzeile und/oder ein alternatives Stylesheet laden möchten, aktualisieren Sie einfach die entsprechenden Aufrufe in der Kategorieschablone ( category.php ), um ein anderes Header/Footer/Stylesheet einzufügen .

Beispiel.

get_header();

Wird.

get_header( 'cat' );

Würde dann header-cat.php anstelle von header.php einschließen.
Sie können dasselbe mit dem get_footer()-Aufruf tun, um eine andere Footer-Datei einzuschließen.

Die Verwendung alternativer Kopf-/Fußzeilendateien wird auf den Codex-Seiten behandelt.
http://codex.wordpress.org/Function_Reference/get_header
http://codex.wordpress.org/Function_Reference/get_footer

Ändern Sie dies für das Stylesheet einfach (in Ihrer neuen Header-Datei).

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

Für so etwas wie ..

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

Oder verwenden Sie alternativ wp_enqueue_style, wie in der anderen Antwort vorgeschlagen.

Vollständig benutzerdefiniertes HTML und CSS, ohne dass andere Arten von Seiten betroffen sind (und keine Änderungen an den vorhandenen Kopf-/Fußzeilen/Stylesheets erforderlich sind).

0
t31os