Variable Farben in CSS je nach Wordpress-Kategorie

  • Hallo,

    ich möchte je nach aufgerufener Kategorie die in der style.CSS festgelegten Farben meines Themes wechseln.

    Wie kann ich in meinen php's eine Abfrage bauen nach der Art

    if Kategorie = x then

    und dann entweder direkt den entsprechenden Parameter in der css ansprechen, oder geht das in css auch über Variablen?

    Danke für die Hilfe!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Du überprüfst die Kategorie mit dem Condtional Tag is_category()

    Wenn du z.B. bei der Kategorie "Katzen" die Linkfarbe Rot und bei "Hunde" Blau haben möchtest, machst du es folgend:

    In die Datei header.php dort zwischen <head> und </head>, da css Dateien keinen PHP-Code ausführen können.

    PHP
    <style>
    if (is_category('Katzen') {echo "a {color:red;}";};
    if (is_category('Hunde') {echo "a {color:blue;}";};
    </style>
  • Ok Danke dir. Ich habe ja aber ganz bestimmte Attribute im CSS für diverse Farbeinstelungen, z.B.

    a, a:visited {
    color: #7A3254;

    für Linkfarbe, oder

    #content h1 {
    color: #495D5C;

    für Überschrift1 in den Beiträgen.

    Wie steure ich mit deiner Methode diese Variablen an (wo und wie schreibe ich diese in deinen Code) bzw. überschreibe sie, im Header könnte ich ja nur generelle Farbeinstellungen für die ganze Seite vornehmen?

    thx!

  • Nur wenn die Kategorie "Hunde" angezeigt wird werden die Werte aus der Datei style.css mit den oben angegebenen überschrieben.

  • ich habe es probiert:



    Aber er bringt immer einen Fehler "syntax error, unexpected '{' in ... header.php"

    Was mache ich falsch?

    Einmal editiert, zuletzt von marX (11. Januar 2009 um 20:31)

  • Kann es sein dass ich die Programmierung in der header.php an der falschen Stelle aufrufe und hierdurch die Fehlermeldung kommt?

    Müssen diese nach Einlesen der style.css ausgeführt werden (wo wird das CSS eigentlich eingelesen?) bzw. hat sonst noch jemand eine Idee worin der Fehler liegt?

    thx für die Hilfe

  • Eine Frage habe ich dann doch noch. Die Methode funktioniert prima, um für die gesamte Seite Farbeinstellungen vorzunehmen.

    Wenn ich jetzt aber z.B. in der

    <ul id="subnav">
    <?php wp_list_categories('sort_column=name&title_li=&depth=4&exclude=1'); ?>

    <li><a href=http://.....>Testlink</a></li>
    <li><a href=[COLOR=#0000ff]http://.....[/COLOR] >Testlink2</a></li>
    </ul>

    für jeden manuellen Menüpunkt/Link in der <li> eine andere Textfarbe als auch Hintergrundfarbe festlegen will, und dies also auch außerhalb der <style>-Definition machen muss, wie kann ich hier vorgehen?

    Auch mittels überschreiben der CSS oder wie kann ich manuell Text- und Hintergrundfarbe setzen? Alle meine Versuche sind bislang fehlgeschlagen..

    Vielen Dank

  • Also ich bin mir nicht sicher ob ich richtig verstanden habe was du genau machen willst. Aber hier meine idee:

    HTML
    <li class="test1"><a href=http://.....>Testlink</a></li>
    <li class="test2"><a href=http://..... >Testlink2</a></li>

    Du gibst jedem li eine eigene Klasse, die du nun ansprechen kannst.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!