Das Putzlowitsch Test- und SEO-Blog

Letzter Beitrag als Startseite

Ab WordPress Version 2.1 kann man eine Statische Seite als Startseite festlegen. Mit einem kleinen Trick geht das auch für den aktuellen Beitrag. Als Beispiel will ich hier die Vorgehensweise für das „Standard DE Theme“, so wie es leicht modifiziert auch hier verwendet wird, beschreiben.

Zunächst wird eine Kopie der Datei ’single.php‘ erstellt und z.B. ’start_page.php‘ genannt. In diese wird ganz oben, noch vor „<?php get_header(); ?>“ Folgender Quelltext eingefügt:

<?php
/*
Template Name: Startseite
*/
?>

Damit haben wir diese Seite zum Seiten-Template ernannt.
Nun sind noch einige, weitere Änderungen erforderlich. Damit auf der Startseite auch die Sidebar ordentlich dargestellt werden kann, ändern wir gleich nach dem „<?php get_header(); ?>“ das

<div id="content" class="widecolumn">

in

<div id="content" class="narrowcolumn">

und fügen direkt danach noch folgendes ein:

<?php
  query_posts('showposts=1');
?>

Falls wir den in der erstellten Startseite enthaltenen Text z.B. als Willkommenstext ausgeben wollen, kann dazwischen noch folgendes eingefügt werden:

<div class="post" id="willkommen">
	<div class="entry">
		<?php the_post(); the_content(''); rewind_posts(); ?>
	</div>
</div>

Über die ID „willkommen“ kann dann dieser Text in der style.css noch individuell formatiert werden. Der Klassenname des inneren DIV sollte dem bei den normalen Beiträgen entsprechen. So hat man schonmal eine brauchbare Grundformatierung.

Somit sieht sieht der Anfang unserer ’start_page.php‘ dann etwa so aus:

<?php
/*
Template Name: Startseite
*/
?>
<?php get_header(); ?>

	<div id="content" class="narrowcolumn">
		<div class="post" id="willkommen">
			<div class="entry">
				<?php the_post(); the_content(''); rewind_posts(); ?>
			</div>
		</div>
				
<?php
  query_posts('showposts=1');
?>	
  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
	
		<div class="navigation">

Damit die Sidebar auch tatsächlich angezeigt wird, müssen wir den entsprechenden Code get_sidebar() fast ganz am Ende direkt vor get_footer() einfügen. Das sieht dann etwas so aus:

<?php get_sidebar(); ?>

<?php get_footer(); ?>

Nun die Datei speichern und in des Theme-Verzeichnis auf dem Server übertragen.

Jetzt erstellen wir über ‚Schreiben‘->’Seite schreiben‘ eine neue statische Seite. Der geben wir als Titel zum Beispiel „Start“. Der Inhalt darf leer bleiben, den bekomen wir eh nie zu sehen, dafür soll ja der letzte Artikel angezeigt werden kann z.B. einen Willkommenstext enthalten, der vor dem eigentlichen Artikel ausgegeben wird. Wichtig ist, das wir rechts unter ‚Template der Seite‘ das gerade erstellte Template „Start“ auswählen. Nun kann die Seite gespeichert werden und wir wechseln in den Einstellungen-Bereich.

Unter ‚Einstellungen‘->’Lesen‘ klicken wir bei ‚Startseite‘ für ‚Anzeige‘ die Option

(•) Eine statische Seite (unten auswählen)

an und wählen die Seite „Start“ als Startseite aus:

Startseite: [Start     [▼]]

Nun die [Einstellungen aktualisieren] und falls ich nichts vergessen hab, ist der aktuelle Beitrag nun die Startseite

Mal gucken, ob es geklappt hat…

Nachtrag: Ja, scheint zu funktionieren :-) Große Freude!

35 Kommentare »