WordPress: nur die Startseite ansprechen

Will man auf einer Website, die mit WordPress betrieben wird, bestimmte Inhalte auf der Startseite unterbringen, dann nutzt man den conditional Tag is_home. Hier ein Beisipiel:

<?php if(is_home()) { ?>
<p>Hast du nicht gesehen!</p>
<?php } ?>

Der Satz “Hast du nicht gesehen!” kommt nicht in Einzelansicht, nicht auf einer Seite (Page), nicht im Archiv etc. sondern nur auf der Startseite vor. Sehr einfach umzusetzen und sehr nützlich. Allerdings, wenn man den “Weiterblättern”-Links folgt und eigentlich auf der zweiten oder dritten Unterseite ist, dann taucht dieser Satz trotzdem noch auf. Die obere Abfrage spricht halt nicht die Startseite im klassischen Sinn an sondern die Hauptdatei im Template.

Was ist jetzt die Lösung? Ganz einfach:

<?php if(is_home() and !is_paged()) { ?>
<p>Hast du nicht gesehen!</p>
<?php } ?>

Das Ausrufezeichen ist eine Negierung und im Klartext heißt es: Zeige Inhalt xyz auf der Haupt- aber nicht auf den Folgeseiten. Ich hoffe ich habe mich nicht allzu kompliziert ausgedrückt.

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

19 Kommentare

  1. […] WordPress: nur die Startseite ansprechen Netter kleiner Tipp in Peruns Weblog […]

  2. […] Perun zeigt, wie man Inhalt auf der Startseite von WordPress anzeigt und auf den Folgeseiten unterdrückt. […]

  3. genau das hatte ich vor 3 wochen gebraucht und es liegen gelassen weil keine suche im netz was vernünftiges ergeben hat! danke auch von meiner seite…. kann die “idee” jetzt endlich vollenden

  4. Ist wirklich nützlich. Ich habe seit geraumer Zeit eine Unterscheidung in der sidebar ob es nun home oder single ist, da sich unterschiedliche Inhalte dort anbieten.

  5. Danke für die Anregung. Wobei ich anstelle des “Hast du nicht gesehen!” bei einem Projekt eine längere Einblendung dann lieber gleich per Include aus einer extra-Datei realisieren werde.

  6. Jared, dann musst Du dir von mir vorwerfen lassen nicht gut genug gesucht zu haben 😉

    Der englischsprachige WordPress Codex listet alle Conditional Tags verständlich erklärt auf. Geht also noch mehr als Haste nicht gesehn.

  7. Ein wirklich sehr nützlicher Tip. Schöne Möglichkeit einen kleinen Teaser auf die Startseite zu schalten.

  8. danke für den tipp.
    aber kann sein, dass das bei der aktuellen wordpress-version nicht mehr klappt? bei mir funktionierts nämlich nicht, is_paged() liefert immer false.

  9. Manchmal kann die Lösung so einfach sein. Danke für den Tipp, hab’s gerade über Google gefunden.

    @ebb: is_paged() funktioniert auch in der aktuellen Version

  10. woohhhh, danke für diesen tipp. ich habe shcon so lange nach einer solchen lösung gesucht und nun kann ich endlich die links auf der index laden, die auch da und nur dahin gehören. vielen dank nochmals!

  11. Hierzu ein kleiner Hinweis. Nachdem ich als Startseite eine statische Seite ausgewählt hatte, hat is_home() nicht mehr den gewünschten Effekt erzielt. Dabei hat is_front_page() aber das Problem gelöst.

  12. Danke für diesen Code-Fetzen! Ich habe auf der Startseite eine Featured Content Gallery und drei statische Widgets in einem horizontalen Sidebar. Den Sidebar “missbrauche” ich über CSS, um drei kurze Spalten in der Art “Drei gute Gründe” anzeigen zu lassen. Dass sollte aber nur auf der Startseite stehen, dann hat der Leser es gesehen und braucht nicht im Blog damit belästigt zu werden. Erst dachte ich an irgendeine Template-Lösung. Aber das auf den Blogseiten Unerwünschte einfach wegzutaggen ist eine feine Sache.

Kommentare sind geschlossen.