Theme mit verschiedenen Templates

  • Hallo zusammen

    Ich versuche gerade eine Wordpress-Seite umzusetzen mit verschiedenen Templates. Die konnte ich eigentlich schon so anlegen wie ich gerne möchte und habe sie im Backend auch den verschiedenen Seiten zugeordnet.

    Nun möchte ich der Startseite (index.php) und den weiteren Seiten andere Hintergrundbilder zuweisen. Dazu habe ich im style.css den background im body herausgenommen und wollte so:

    Code
    <style>
    body {
        background-image:url(images/textur.jpg);
        }
    </style>

    im index.php (und weiter dann auch für die anderen Seiten) den Hintergrund festlegen. Nun funktioniert das aber nicht so ganz. Ich habe es mit Farben ausprobiert, dies geht. Ausserdem habe ich auch das ganze Verzeichnis angegeben (url:(wp-content/themes/MEINTHEME/images/textur.jpg)) was leider auch nicht hilft. Wenn ich es so belasse zeigt es einfach einen weissen Hintergrund an. Wie muss ich das Verzeichnis angeben, dass der Hintergrund angezeigt wird? (Die Datei ist natürlich schon hochgeladen worden).

    Danke!

    • 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

  • mehrere moeglichkeiten:

    1.
    wenn du bilder in styles in den template-dateien verwendest (im unterschied zur style.css), musst du den vollen pfad angeben; zB so:

    PHP
    <style>
    body {
        background-image:url(<?php bloginfo('stylesheet_directory'); ?>/images/textur.jpg);
        }
    </style>



    http://codex.wordpress.org/Function_Reference/bloginfo

    2.
    'body_class()' im body tag verwenden; das ergibt template- und seiten- spezifische css classes, die du dann mit hintergrundbildern in der style.css des themes formatieren kannst:
    http://codex.wordpress.org/Template_Tags/body_class

  • alchymyth: danke für deine antwort. die zweite variante scheint mir eine gute lösung zu sein, aber das problem ist hier nun wieder, dass die grafik nicht angezeigt wird. auch hier habe ich das ganze mit farben ausprobiert, was funktioniert. hier meine codes:

    PHP
    <body <?php body_class('blau'); ?>>
    PHP
    <body <?php body_class('pink'); ?>>

    im PHP sowie

    Code
    body.blau {
      background-image:url(images/textur.jpg);
      }
      
     body.pink {
      background-color:#00FF00;
      }

    im CSS.

  • wo ist der code hier eingefuegt?

    PHP
    <body <?php body_class('blau'); ?>>



    hoffentlich direkt nach dem [FONT=Courier New][COLOR=blue]</head>[/COLOR][/FONT] normalerweise in header.php (das haengt davon ab, wie dein template organisiert ist)

    kommt die body-class auch in der seite im browser an?

    die css sieht ok aus.

    ein link zur seite (hast du wahrscheinlich schon mal gepostet; dann bitte nochmal) hilft, das nachzusehen.

  • Danke, das mit dem Hintergrund hat mal funktioniert. Das wäre die Seite: http://test.doula-graubuenden.ch/

    Nun habe ich ein weiteres Problem.. Wenn man beispielsweise auf "Über mich" geht erscheint oben rechts dieser Balken mit dem Text "Eine Hand zum Festhalten". Dieser sollte eigentlich auf der Startseite auch erscheinen, einfach in blau. Hier wäre der Code in index.php:

    Code
    <div id="logo">
        <img src="wp-content/themes/DOULA/images/festhalten.png">
    </div>

    und das CSS dazu:

    Code
    #logo {
      right:0;
      clear:both;
      position:absolute;
    }

    für das Template pink.php habe ich eigentlich genau das gleiche verwendet:

    Code
    <div id="logo2">
        <img src="wp-content/themes/DOULA/images/festhalten2.png">
    </div>

    und

    Code
    #logo2 {
      right:0;
      clear:both;
      position:absolute;
    }

    woran liegt das nun, dass es im index.php nicht angezeigt wird? Ausserdem wäre bei der Navigation noch das gleiche wünschenswert (der aktive Menüpunkt soll pink und nicht blau hinterlegt werden).

    Danke!!

  • der code zum bild ist auf der startseite nicht vorhanden.

    evtl verwendet das theme nicht index.php, sondern page.php oder eine andere template-datei fuer die startseite.
    (die body_class gibt da 'page-template-default' aus)


    fuer das aktive menu-element der seite 'ueber mich' muss wahrscheinlich noch ein neuer style in die style.css:

    CSS
    .pink .current_page_item a {background-color:pink!important;}



    NB:
    im pink-template ist der body tag ist der body_class an der falschen stelle (der ganz am anfang) - der muss nach </head> stehen (wo schon <body> steht) - das koennte sonst zu darstellungsproblemen in einigen browsern fuehren.

    und bei der div "sprache" fehlt das schliessende >; ausserdem ist da das body tag ueberfluessig):

Jetzt mitmachen!

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