1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Wie den body Hintergrund nach Seite ändern?

Dieses Thema im Forum "Design" wurde erstellt von simon1101, 15. Dezember 2010.

  1. simon1101

    simon1101 Active Member

    Registriert seit:
    15. Dezember 2010
    Beiträge:
    28
    Zustimmungen:
    0
    Wie den body-Hintergrund nach Menüauswahl ändern?

    Hallo,

    ich würde gerne den body Hintergrund (in der finalen Version Bilder) je nach gewähltem Menüpunkt ändern. Zur Zeit passe ich das Twenty ten Theme an meine Bedürfnisse an.

    Dazu habe ich schon viel gesucht und leider nichts Brauchbares gefunden.

    Mein Ansatz sieht wie folgt aus. Ich habe zwei css Klassen in der style.css

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und in der header.php will ich über eine if-Abfrage den Zustand home des body backgrounds nur bei Aufruf der Startseite (Habe mir im Backend eine eigene definiert) angezeigt bekommen, sonst den Zustand des alternative.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Aber es passiert nix?

    Kann mir jemand sagen, was ich ändern muss, um mein Ziel zu erreichen?

    Gruß
    Simon
     
    #1 simon1101, 15. Dezember 2010
    Zuletzt bearbeitet: 15. Dezember 2010
  2. telekommander

    telekommander Well-Known Member

    Registriert seit:
    3. August 2005
    Beiträge:
    1.140
    Zustimmungen:
    0
    Erstens ist der Syntax ist total daneben und zweitens macht der wp-body-Tag
    <?php body_class(); ?> genau das.
    Also wozu die Abfrage ?

    Und wenn, dann so, aber wäre überflüssig: (ungetestet)
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  3. simon1101

    simon1101 Active Member

    Registriert seit:
    15. Dezember 2010
    Beiträge:
    28
    Zustimmungen:
    0
    Hab es getestet, geht nicht...

    Wo steht denn die <?php body_class(); ?> ?
     
  4. simon1101

    simon1101 Active Member

    Registriert seit:
    15. Dezember 2010
    Beiträge:
    28
    Zustimmungen:
    0
    Lösung!

    Alles klar, jetzt habe ich es kapiert. Danke für die Anregung...

    Die css muss heißen:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und in der php reicht:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  5. illufan

    illufan Well-Known Member

    Registriert seit:
    31. Dezember 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Hallo, bin neu hier und bin leider auch nicht wirklich fit in Php!:sad:
    Ich würde gerne für jede Seite eine anderes Hintergrundbild haben, wie könnte ich da vorgehen???
     
  6. alchymyth

    alchymyth Well-Known Member

    Registriert seit:
    7. Juni 2009
    Beiträge:
    3.959
    Zustimmungen:
    1
    hallo und willkommen im forum :D

    hofffentlich bist du fit in css, da das nicht viel mit php zu tun hat:

    erster schritt:
    bearbeite header.php (das sollte in den meisten faellen die richtige datei sein)
    und stell sicher dass der body tag den code fuer die body_class hat:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    der 'unbearbeitete' body tag sieht so aus:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ende des php-teils :lol:

    wenn du mit 'seiten' die 'page' meinst, und mit hintergrund den gesamt-hintergrund, also vom browserfenster, dann bearbeite die style.css des themes; fuer jede seite mit einem eigenen hintergrund fuege sowas wie das folgende ein:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    http://www.w3schools.com/css/css_background.asp

    das setzt voraus, dass das hintergrundbild im /images-verzeichnis im verwendeten theme abgespeichert ist.

    die page id kannst du rausfinden, wenn du im 'dashboard' unter 'seiten bearbeiten' mit der maus ueber den titel der entsprechenden seite gehst - die id ist dann unten in der browserzeile hinter ?post= zu sehen.
     
  7. illufan

    illufan Well-Known Member

    Registriert seit:
    31. Dezember 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Herzlichen Dank!! :razz:

    Ich habe bereits etwas gefunden, auch weiß ich nicht ob es richtig ist, aber es funktioniert:

    header.php:
    <body id="bg-<?php print $post->ID;?>">

    und in der .css:

    #bg-2
    #bg-3
    #bg-4
    usw...
     
  8. alchymyth

    alchymyth Well-Known Member

    Registriert seit:
    7. Juni 2009
    Beiträge:
    3.959
    Zustimmungen:
    1
    wenn's geht, ist das in ordnung.
     
  9. alexFCN

    alexFCN New Member

    Registriert seit:
    16. November 2015
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    ich habe folgende Aufgabe:

    Wenn die Minutenanzahl beim Aufruf der Seite gerade ist, verwende die eine Hintergrundfarbe. Bei einer ungeraden Minutenanzahl verwende eine andere Hintergrundfarbe.

    Ich komme hier nicht klar bzw weiß nicht wie ichs schreiben soll...

    Kann mir jemand helfen? :neutral:

    Danke
     
  10. Meathor

    Meathor Well-Known Member

    Registriert seit:
    14. Februar 2012
    Beiträge:
    297
    Zustimmungen:
    0
    Du musst ja wissen ob gerade oder ungerade...

    Das kannst du mittels php (ohne Cache Plugin) oder mittels JavaScript (mit Cache Plugin) erledigen... Nur mit CSS geht das nicht.

    mfg
     
  11. alexFCN

    alexFCN New Member

    Registriert seit:
    16. November 2015
    Beiträge:
    4
    Zustimmungen:
    0
    Ich bin noch ziemlich unerfahren...
    Das habe ich bisher:
    <?php

    $timestamp = time();
    $minute = date("i", $timestamp);
    echo $minute;

    function GeradeUngerade($minute){
    if ($minute % 2 == 0) {
    return 0;
    }else{
    return 1;
    }
    }

    echo GeradeUngerade($minute);

    If($minute == 1) {
    $farbe = '228b22';
    } else {
    $farbe = '00ff00';
    }
    ?>


    <body bgcolor="<?php echo $farbe; ?>">


    im browser wird immer die zweite farbe angezeigt, also die für gerade...
    ich hab gestern den ganzen nachmittag mit dem problem verbracht... :-?
     
    #11 alexFCN, 17. November 2015
    Zuletzt bearbeitet: 17. November 2015
  12. alexFCN

    alexFCN New Member

    Registriert seit:
    16. November 2015
    Beiträge:
    4
    Zustimmungen:
    0
    muss ich den if-teil mit in die Funktion mit einbeziehen?
    Oder wie läuft das? :?::confused:
     
    #12 alexFCN, 17. November 2015
    Zuletzt bearbeitet: 17. November 2015
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden