Page Templates für spezielle Sidebar

  • Hallo

    Also mein Ziel ist es 3 Pages zu haben die eine etwas anderes Layout besitzen um sie von dem restlichen Blog abzuheben. Ich möchte gerne einen Blog für eine nationale Organisation machen und die verschiedenen Städte sollen ihre einen Page bekommen mit eigenen Header und eigener Sidebar.
    Grundsätzlich habe ich beim Header nicht mehr den Pagenamen ausgeben sondern den Städtenamen in das PHP File reingeschrieben und die descripton habe ich auch verändert.
    Ich hätte dann 4 php Files für die jeweiligen Orte und wähle auf denen ihren Seiten das richtige Template an.

    Das hat alles ganz gut geklappt also alles wird angezeigt nur jetzt habe ich einige Probleme mit dem Layout. Erstens mal wenn ich den Inhalt sidebar-page.php so lasse dann gibt es eine Überlappung zwischen Sidebar und Content.

    Das verwundert mich ziemlich weil ich ja einfach nur den Inhalt der sidebar-page.php übernommen habe dort muss ja schon alles drin stehen was Wordpress wissen muss um den Text vernünftig anzuzeigen. Oder?
    Spannenderweise habe ich dann die Dateien page.php und sidebar-page.php verglichen und festgestellt bis auf die Kommentare und das fehlende <?php get_sidebar(); ?> ist alles gleich.

    Der Content Text muss also nicht angepasst werden damit die beiden nicht überlappen. Es hat kein margin-left oder so welche bei einer sidebar den Text einrücken würde.

    Jedenfalls kann man eine Datei erstellen mit einem anderen Namen und genau dem gleichen Inhalt der sidebar-page.php und trotzdem wird der Text nicht richtig angezeigt. Woher kommt das? Oder anders gefragt warum weiss Wordpress bei dem sidebar-page.php das es den Text verschieben muss?
    Der Code ist beide mal:

    Ich kann natürlich in der neuen Datei zusätzlich noch das einfügen

    Code
    <div id="content" role="main" style="margin-left:23.2%;">

    Dort wo ich den Inhalt der sidebar-page.php eingefügt habe, nur ist mir das nicht so Symphatisch etwas am Layout einfach so herum zu pfuschen, vielleicht habe ich dann später irgendwelche Probleme weil auf den Seiten etwas nicht mehr richtig angezeigt wird. Oder ist die Angst übertrieben?
    Auf der anderen Seite würde es mich schon noch interessieren warum ich überhaupt diese Änderung vornehmen muss.
    Oder habt ihr einen Vorschlag wie man das ganze noch einfacher machen könnte? Oder mache ich überhaupt etwas illegales wovon ihr abraten würdet?

    Ach ja ich benutze das Standard Twenty Eleven Theme, das Vorgehen sollte aber bei den meisten Themes ähnlich sein oder?

    • 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 mit der Sidebar wird jetzt so gelöst über das Plugin "TS Custom Widgets" kann man widgets so konfigurieren, dass sie nur noch an bestimmten stellen auftauchen.

    Jedenfalls lösst das mein Problem aber noch nicht da ich immer noch nicht weiss warum der Text vom Content nicht richtig angezeigt wird.
    Jetzt habe ich wieder die funktion get_sidebar drin und das Page Template ist genau das gleiche wie page.php und trotzdem wird der Text zu weit links angezeigt....

  • Zitat

    Ach ja ich benutze das Standard Twenty Eleven [COLOR=#0066cc]Theme[/COLOR], das Vorgehen sollte aber bei den meisten [COLOR=#0066cc]Themes[/COLOR] ähnlich sein oder?


    bestimmt nicht!

    Twenty Eleven steuert die sidebar-einstellung ueber die body_class, die fuer jedes neue seiten-template extra angepasst werden muss; zB in functions.php vom child-theme.


    (nicht direkt getestet)

    fuer mehrere neue seiten-templates, aendere diese zeile:

    PHP
    if( is_page_template( 'neues-page-template.php' ) ) :

    in

    PHP
    if( is_page_template( 'neues-page-template.php' ) || is_page_template( 'weiteres-neues-page-template.php' ) || is_page_template( 'noch-ein-page-template.php' ) ) :



    template-datei-namen anpassen...

    edit:
    wenn es ohne child-theme gehen soll (nicht empfehlenswert) dann in functions.php von Twenty Eleven am ende nachschauen:

    PHP
    if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) )


    und da die weitern seiten-templates einbauen - einfach dem bestehenden muster folgen ;-)

Jetzt mitmachen!

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