is_home: Informationen nur! auf der Startseite

is_homeEin Frage zu den Conditional-Tags, die ich hier näher erläutern möchte: Warum ist der Tag is_home noch immer gesetzt (TRUE), wenn man auf der Startseite „blättert“ ?

Der Conditional-Tag is_home() fragt die Startseite ab – richtig. Allerdings ist es so, wenn man die Startseite über das „Blättern“ der Seiten verlässt, dann ist im Sinne von WordPress noch immer die Startseite aktiv.
Damit die Information wirklich nur auf der Startseite untergebracht ist, muss man mit einem weiteren Tag kombinieren.

Ein Beispiel

Die Abfrage der Startseite könnte im Template folgendermaßen aussehen:

<?php if ( is_home() ) { ?>
<p>Informationen stehen auf der Startseite und allen weiteren Seiten, die durch das Baettern erreicht werden.</p>
<?php } ?>

Damit die Ausgabe auch wirklich nur auf der Startseite erscheint, muss abgefragt werden, ob es sich NICHT (!) um eine Seite handelt, die durch „Blättern“ erreicht wurde.

<?php if ( is_home() && !is_paged() ) { ?>
<p>Informationen stehen nur auf der Startseite.</p>
<?php } ?>

Update

Mit der Einführung von WordPress 2.5 gibt es einen neuen Conditional Tag der diese Aufgabe exakt übernimmt, kein umständliches abfragen mehr.
is_front_page()

Das obige Beispiel sieht dann wie folgt aus.

<?php if ( is_front_page() ) { ?>
<p>Informationen stehen nur auf der Startseite.</p>
<?php } ?>

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.