Header Bilder und individuelle Seiten Templates mit Page IDs

  • Hallo Leute!

    Ich habe unterschiedliche Header, sowie individuelle Templates ausgezeichnet mit CSS. Das geht ganz gut, wenn es 2 Hierachie-Ebenen im Untermenü gibt (erste Ebene im Hauptmenü, in der Seitenleiste Ebenen 2-3). Allerdings gibt es ab der 3. Ebene ein Problem: Ich kann die Parent Page IDs für die 2. Ebene angeben, aber wenn die Unterseiten sich in der Hierarchie tiefer verschachteln (3. & 4. Ebene), erscheint logischer Weise wieder das Default Template.

    Frage: Gibt es eine Anweisung (via CSS oder auch als PHP Hook) - allen Parent Page IDs ein bestimmtes Template zu geben (und zwar egal wie tief die Hierarchie sich verzweigt)?

    CSS für die Header:

    Code
    #header, .page-id-24 #header, .page-id-32 #header, .page-id-34 #header, .page-id-52 #header,
    .parent-pageid-24 #header, .parent-pageid-32 #header, .parent-pageid-34 #header, .parent-pageid-52 #header {
    background: url("images/header-start.jpg") no-repeat scroll 0 4.2em transparent;
    height: 253px;
    }

    und für den Content Bereich:

    Code
    .page-id-24 #page-main, .page-id-32 #page-main, .page-id-34 #page-main, .page-id-52 #page-main,
    .parent-pageid-24 #page-main, .parent-pageid-32 #page-main, .parent-pageid-34 #page-main, .parent-pageid-52 #page-mainr {
    background: url("images/fauxcol-gr.jpg") repeat-y scroll 0 0 transparent;

    Hoffentlich habe ich mich verständlich ausgedrückt. Leider komme ich an die Grenzen meines Wissens und habe bisher kein Lösung gefunden. Kennt jemand das Problem und hat eine IDEE???

    • 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

  • das hier:

    PHP
    <?php if(is_page()) $top_page = 'page-tree-id-'.array_pop(array_merge(array($post->ID),get_ancestors($post->ID,'page'))); ?>
    <body <?php body_class($top_page); ?>>


    fuegt eine css class mit ' [FONT=Courier New][COLOR=blue].page-tree-id-123[/COLOR][/FONT] ' zum body_class() hinzu;
    123 ist dabei immer die page ID (in deinem beispiel id 24) der obersten seite in der hierachie.

    dazu [FONT=Courier New][COLOR=blue]<body <?php body_class(); ?>>[/COLOR][/FONT] in header.php aendern.

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

  • im Thema befindet sich diese Zeile in header.php

    PHP
    <body <?php body_class( pagelines_body_classes() ); ?>>

    diese habe ich so angepasst, aber leider ohne Erfolg:

    PHP
    <?php if(is_page()) $top_page = 'page-tree-id-'.array_pop(array_merge(array($post->ID),get_ancestors($post->ID,'page'))); ?>
    <body <?php body_class( pagelines_body_classes($top_page) ); ?>>
  • "Parse error: syntax error, unexpected T_STRING".
    Dort wo der geänderte Code eingefügt wurde "line 23".
    Das Theme ist ein Child Theme von PlatformPro

  • Habe diese function von der Conditional_Tags Seite verwendet:


    Bin mir aber nicht sicher ob sie schon das macht, was ich möchte. Im Prinzip benötige ich einen hook, der allen Child Pages die gleichen header Bilder zuweist wie die jeweilige Parent pages. Die Parent Pages haben jeweils eine CSS mit dem entsprechenden header Bild. Die Child Pages der Child pages sollten natürlich auch die gleichen header Bilder verwenden. Kann es zur Zeit leider noch nicht testen.

    oder wäre auch dieser hook dafür geeignet?

    Einmal editiert, zuletzt von basmati (5. Januar 2012 um 13:55)

  • .. hat damit denn niemand Erfahrungen gesammelt?

    Kann doch nicht sein, dass keiner verschiedene Seitenlayouts mit Wordpress erstellen möchte!?

    Oder gibt es vielleicht einen anderen, viel besseren Weg?

Jetzt mitmachen!

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