Twenty Twelve - Unterseiten einbinden

  • Hallo,

    meine Seite möchte ich gerne auf responsives Design umstellen (und überhaupt das veraltete Theme loswerden). Deswegen würde ich gerne Twenty Twelve verwenden, aber ich zögere noch; Grund dafür ist ein Designproblem, das ich nicht lösen kann.

    Auf der (noch alten) Seite habe ich die Unterseiten mit dem Codeschnipsel

    PHP
    <ul>  <?php wp_list_pages('title_li=&child_of='.$post->ID."&echo=1"); ?></ul>

    eingebaut (Beispiel http://www.kraftvolle-orte.de/uebersicht-der…len-orte/berge/ ). Ich schaffe es aber nicht, die gleiche Anzeige in Twenty Twelve hinzukriegen. Wisst Ihr eine Möglichkeit?

    Vielen Dank,
    Stephan

    • 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

  • Der Code an sich ist schon einmal nicht verkehrt.

    Ich hab das mal kurz ausgetestet. Leg eine neue .php unter /twentytwelve/page-templates an. Da kann bspw das drin stehen:

    Du musst natürlich das ganze Deinen Wünschen anpassen.

    Nun musst Du die "Mutterseite" öffnen und als Template auch das neu erstellte wählen. Die "Kindseiten" müssen natürlich auch entsprechend gekennzeichnet werden und bei Eltern die "Mutterseite" ausgewählt sein.

    Wenn Du jetzt auf der Seite die "Mutterseite" öffnest, zeigt er Dir die "Kinderseiten" ebenfalls an. Wie gesagt musst Du das entsprechend anpassen und styles dafür erstellen eventuell in einem separaten div stellen..

    Einmal editiert, zuletzt von BumbleBee (13. Januar 2013 um 12:34)

  • Du kannst bspw den part

    PHP
    <?php wp_list_pages('title_li=&child_of='.$post->ID."&echo=1"); ?>

    ergänzen mit:

    PHP
    <div class="show-sub-page">
       <?php wp_list_pages('title_li=&child_of='.$post->ID."&echo=1"); ?>
    </div>

    Dann musst Du in die style.css nur noch den Eintrag vornehmen:

    Code
    .show-sub-pages {
    	margin-left: 24px;
    	margin-left: 1.714285714rem;
    }

    Damit wird es dann entsprechend eingerückt und sieht wieder ähnlich Deiner alten Seite aus.


    P.S.: Du kannst natürlich auch eine Abfrage einbauen, die prüft ob "Kinderseiten" vorhanden sind und diese dann anzeigt, falls nicht dann normal weiter verfährt. Aber das sollen die Profis machen. Da bin ich dann doch nicht so weit ;-)

  • weils doch nicht so schwierig war, hier noch inklusive Abfrage ob "Kindseiten" vorhanden sind.

    PHP
    <div class="show-sub-pages">
        <?php
            $children = get_pages('child_of='.$post->ID);
            if( count( $children ) != 0 ) { 
                wp_list_pages('title_li=&child_of='.$post->ID."&echo=1");
            }
            else { 
            }
        ?>
    </div>

    Dann brauchst Du kein extra template ;-)

  • Hallo BumbleBee,

    herzlichen Dank für Deine wertvolle Arbeit. Ich habe jetzt folgende Code eingebaut:

    Das klappt auch theoretisch ganz gut, aber es gibt noch ein Problem. Normalerweise kommt der Text, dann die Unterseiten (gemäß neuen Codes), dann der Link "Bearbeiten" und dann eine Linie (hr). Bei mir ist das aber anders, denn die Unterseiten kommen erst nach dem Link und der Linie; ziemlich unschön :-(

    Leider bin ich mit dem Theme noch nicht so vertraut, dass ich das umbauen könnte. Mein altes Theme hatte nur eine page.php - function.php, content-page.php etc. kenne ich gar nicht.

    Grüße,
    Stephan

  • Das liegt an der content.php. Die ist für die Anzeige des Inhaltes verantwortlich, während die page.php das grobe Layout erzeugt.

    Laut content.php ist es eben so, das der Inhalt abgerufen und angezeigt wird, dann der Bearbeiten Link, und dann die Doppellinie (welche ich bei mir per style.css ganz entfernt habe, genauso wie das für mich unnütze margin).

    Aber, da ich da nicht genügend nachgedacht habe, jetzt die (hoffentlich für Dich) korrekte Handhabung:

    content-page.php


    Erste und letzte Zeile sind original content-page.php!

    Nun wird die Anzeige also von der content-page.php gesteuert und alles ist gut ;-) Den code kannst Du natürlich dann aus der page.php raus nehmen.

  • Rechts unten (wo´s a den Watzmo' gibt). heißt so wegen den Zell am See´ern die nach Salzburg fahren und umgekehrt. Nutzen nämlich unsere B-Straßen statt deren Autobahnen ;-)

Jetzt mitmachen!

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