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

Unterschiedliche Hintergrundbilder für jede Seite

Dieses Thema im Forum "Design" wurde erstellt von nimue, 24. Juli 2014.

  1. nimue

    nimue New Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    3
    Zustimmungen:
    0
    Guten Morgen,

    leider habe ich zu meiner Frage nur diesen Thread gefunden, aber der hilft mir nicht so richtig weiter. Ich erstelle gerade eine neue WP-Webseite (v3.9.1) für einen Bekannten. WP soll hier nur als CMS genutzt werden, was bedeutet, dass nur vereinzelte statische Seiten nötig sind, aber keine aktuellen Beiträge gepostet werden. Nun soll jede Seite ein anderes Hintergrundbild erhalten.

    Die Lösung in dem anderen Thread verstehe ich nicht ganz, denn <body> gibt es ja nur einmal. Ordne ich hier ein class-Attribut zu, dann gilt das doch für alle Seiten?

    Als Grundlage nutze ich momentan das Theme "Forever", aber ist ja theoretisch für diese Frage egal. Kann mir jemand weiterhelfen, wo ich was anpassen müsste? Ich vermute, das geht nicht über die Admin-Konsole, sondern ich muss direkt in den Code?

    Vielen Dank schon mal.

    Liebe Grüße
    Susanne
     
  2. SirEctor

    SirEctor Well-Known Member
    Ehrenmitglied

    Registriert seit:
    28. Oktober 2008
    Beiträge:
    12.361
    Zustimmungen:
    427
    Wenn Du den Body im body_class() ergänzt, erhält der body pro Seite unterschiedliche Classes, da es dann auf Conditional Tags aufbaut. Hier mal die Doku dazu:
    http://codex.wordpress.org/Function_Reference/body_class

    Teste es einfach mal. So bekommt jede Seite z. B. die pageid-?? im Body zugewiesen, worüber Du Dein Vorhaben realisieren kannst.
     
  3. the5kyliner

    the5kyliner Active Member

    Registriert seit:
    18. September 2012
    Beiträge:
    36
    Zustimmungen:
    1
    Wenn du die Bildquellen weniger statisch im CSS haben möchtest, könntest du diese auch über benutzerdefinierte Felder im Template abfragen. Dann könntest du bei Bedarf das Hintergrundbild schnell über den wp-admin anpassen und müsstest nich für jede Seite eine neue CSS Regel aufstellen.
     
  4. nimue

    nimue New Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo, vielen Dank für die tollen Tipps! Das hat mir schon sehr weiter geholfen :)
     
  5. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Hier hänge ich auch.
    Jedoch nicht an der unterschiedlichen Bilder für jede Seite. Das ist kein Problem.

    Das Problem ist, dass ich das Bild auch bei den Unterseiten haben möchte.

    Kurz:
    Für jede Seite UND deren Unterseiten soll ein anderes background-image angezeigt werden.

    Ich habe ziemlich viele Varianten ausprobiert, grad bin ich bei der:

    Erst die is_subpage Funktion aus dem Codex:



    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und dann meine body_classen:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Das funktioniert.
    Aber sobald ich den anderes Seiten auch noch das
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    hinzufüge, dann gehen die Bilder auf den Unterseiten nicht mehr.

    Ich hoffe ich konnte das Problem beschreiben.
    Kann mir wer helfen?


    Ich kann leider nur die parent Seiten mit dem Seiten-Name ansprechen.
    Für die childs geht das nicht, da ich die variabel halten muss.
     
  6. Tubedesigner

    Tubedesigner Well-Known Member

    Registriert seit:
    24. April 2015
    Beiträge:
    2.048
    Zustimmungen:
    2
    Nutze einfach ein Plugin wie z.B. dieses

    https://wordpress.org/plugins/fully-background-manager/

    verträgt sich mit den allermeisten WP-Installationen prächtig und ist einfach und intuitiv zu bedienen, weil es sich so wie das Feature für die Beitragsbilder mit einen extra Bedienfeld in die Editorseite für Seiten und Beiträge einfügt.
     
  7. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Danke für die Antwort!!!

    Plugin geht leider nicht.
    Ich mache ein spezielles Theme, was mit so wenig Plugins wie möglich funktionieren muss.
    Die Pflege liegt dann auch nicht bei mir.
    Deshalb sollten Dinge, die nicht verändert werden müssen wie die Hintergrundbilder, einfach funktionieren. Ohne zusätzliche Arbeit.


    Hat denn sonst niemand eine Idee, wie ich die Klasse für Seite UND Unterseite hinzufügen kann??
     
  8. Tubedesigner

    Tubedesigner Well-Known Member

    Registriert seit:
    24. April 2015
    Beiträge:
    2.048
    Zustimmungen:
    2
    Ist zwar Deine Entscheidung, aber das Plugin ist recht weit verbreitet, erprobt und aktuell, dazu noch fügt es sich nahtlos in die übrigen Funktionen von Wordpress ein, ergänzt genau diese Lücke der nicht einstellbaren Hintregrundbilder fast perfekt.


    Eigentlich noch ein Pluspunkt für das Plugin...


    Einmal eingestellt, tut das Plugin genau das, was es soll und noch mehr und einmal einstellen muss man alles auch auf Codeebene.


    Schon, aber dann passt Dir die womöglich auch nicht, da schreib ich dann lieber woanders was…
     
  9. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Hallo Tubedesigner,

    ich verstehe nicht so recht.
    Ich habe lediglich gesagt, dass ich es ohne Plugin gelöst haben möchte.

    Das heißt nicht, dass mir nicht passt, dass du mir den Tip für das Plugin gibst.
    Leider geht es in diesem Fall aber nicht.
    Ich muss das hier über die function.php lösen.
    Was an sich ja auch kein Problem sein sollte.

    Ich bekomme es grad aber einfach nicht hin und schreibe hier,
    weil ich alleine nicht weiter komme.

    Ich bin um jeden Tip dankbar, auch um deinen Hinweis auf das Plugin.
     
  10. Hille

    Hille Well-Known Member

    Registriert seit:
    22. Januar 2012
    Beiträge:
    7.965
    Zustimmungen:
    9
  11. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Hey Hille, genial!
    Das ist super.

    Kannst du mir auch sagen, wie ich das für die childs hinbekomme?
    Ich weiß hier die IDs nicht.
    Wenn z.B. die Überseite (parent) die ID 18 hat, dann kann ich ja über CSS die Unterseite nicht ansprechen, oder? Diese hat dann ja wieder eine andere ID die ich nicht weiß. Dann lade ich wieder bei php. Oder gibts da noch eine Möglichkeit? Die Lösung über css finde ich nämlich ganz wunderbar!

    EDIT:
    Okay, ich habs. Zu früh gefragt. Aber noch eine Frage. Jetzt habe ich es gut rein über CSS, aber jetzt fällt mir auf, dass ich ja nie die ID weiß. Auch nicht bei der Überseiten. Der Seite wird keine Klasse zugefügt, die irgendwie aus dem Name oder Slug besteht, oder?
     
    #11 janamaria, 17. Januar 2016
    Zuletzt bearbeitet: 17. Januar 2016
  12. Tubedesigner

    Tubedesigner Well-Known Member

    Registriert seit:
    24. April 2015
    Beiträge:
    2.048
    Zustimmungen:
    2
    Musst Du nicht, ganz einfach ohne Plugin in die style.css oder ein Custom-CSS-Feld oder eine eigene CSS-Datei schreiben


    Für Beiträge:



    .postid-n {
    background-image: url(www//background.jpg);
    background-repeat: repeat;
    background-position: center top;
    }



    Für Seiten:


    .page-id-n {
    background-image: url(www//background.jpg);
    background-repeat: repeat;
    background-position: center top;
    }


    Achte auf den kleinen Unterschied (rot), n durch die ID des Beitrages oder der Seite ersetzen, Befehle nach eigenen Wünschen anpassen - fertig.
     
  13. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Hey!

    Danke dir!

    So hatte ich es auch gestern.

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Aber sobald ich die ID nicht weiß, geht das doch nicht, oder?

    Der Name der Seite ist immer gleich, ID nicht, da bei jeder Theme Installation andere IDs vergeben werden. Aber die Unterseiten unterscheiden sich vom Name her immer. Und von der ID sowieso.

    Mh.
     
  14. janamaria

    janamaria Well-Known Member

    Registriert seit:
    17. April 2015
    Beiträge:
    49
    Zustimmungen:
    0
    Juhu!

    Ich habs.

    functions.php:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    Jetzt wird für jede Seite und deren Unterseiten eine Klasse mit dem Slug der Überseite vergeben.
    Die kann ich jetzt über CSS anpsrechen.


    Vielen lieben Dank an alle! :)
     
  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