WordPress & Webwork

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.

19 Reaktion(en)

  1. Pingback: KOCHWERKSTATT » links for 2007-06-29

  2. Pingback: Wordpress-Themes und Tipps » Digitalia

  3. Jared

    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. Jens

    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. Felix

    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.

  6. ebb

    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.

  7. Stefan

    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

  8. Paul Buchhorn

    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!

  9. Pingback: Werbung nur auf der Startseite

  10. Manuel

    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.

  11. Wolf Larsen

    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.

Die Kommentare in diesem Beitrag sind geschlossen.

✉ WordPress-Newsletter ✉

Tipps und News als E-Mail in deinem Postfach? Dann abonniere einfach den ersten deutsch­sprachigen Word­Press-Newsletter:


Der Newsletter ist hinterher jederzeit abbestellbar.

Eintragen!