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.
<?php
/**
*
* Template Name: Muenchen
?>
[Inhalt des Header files header.php mit meinen vorgenommenen Änderungen]
[Inhalt des Sidebar Page Templates sidebar-page.php]
[Inhalt des Sidebar files sidebar.php mit meinen vorgenommenen Änderungen]
<?php get_footer(); ?>
Alles anzeigen
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:
<div id="primary">
<div id="content" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php comments_template( '', true ); ?>
<?php endwhile; // end of the loop. ?>
</div><!-- #content -->
</div><!-- #primary -->
Alles anzeigen
Ich kann natürlich in der neuen Datei zusätzlich noch das einfügen
<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?