WordPress & Webwork

WordPress: bin ich auf der Startseite?

Frag den WordPress-Experten Und wieder ein Artikel aus der Reihe Frag den WordPress-Experten. Der Nutzer hat bei einem kleinen Projekt WordPress als "klassisches" CMS eingesetzt und wollte wissen, wie er in den Template-Dateien abfragen kann, ob man sich auf der Startseite befindet.

Will man bei einer WordPress-Installation herausfinden, ob man sich auf der Startseite befindet, dann kommt folgender Conditional Tag zum Einsatz:

<?php if(is_home()) echo 'irgendetwas'; ?>

Allerdings muss hierbei erwähnen, dass is_home() lediglich Auskunft gibt ob man sich auf der Hauptseite des Blogs befindet. Will man jedoch wirklich nur die Startseite ansprechen und nicht die Folgeseiten der Hauptseite, dann kommt folgender Code zum Einsatz:

<?php if(is_home() and !is_paged()) echo 'irgendetwas'; ?>

Setzt man aber WordPress als "klassisches" CMS ein … also bei Projekten ohne Blogcharakter, dann wird meistens in "Einstellungen" ⇒ "Lesen" eine Seite (Page) als Startseite bestimmt. Hier greift aber die obere Abfrage nicht, weil man sich nicht mehr auf der Hauptseite sondern auf einer Page befindet. Folgender Code kommt hier zum Einsatz:

<?php if(is_front_page()) echo 'irgendetwas'; ?>

Will man jetzt beide Fälle abdecken, zum Beispiel weil man ein freies WordPress-Theme entwickelt, dann würde das Code-Fragment so ausschauen:

<?php if(is_home() and !is_paged() or is_front_page()) echo 'irgendetwas'; ?>

11 Reaktion(en)

  1. Ralf

    Gehört nicht direkt zum Thema, es ist jedoch besser wenn man Bedingungen mit Klammern ergänzt.

    if ($a and !$b or $c) kann zu unerwünschten Ergebnissen führen. Denn die Operatoren (and, or, not, usw) haben eine bestimmte Reihenfolge in der sie abgearbeitet werden. Besser wäre also <?php if( ( is_home() and !is_paged() ) or ( is_front_page() ) ) echo 'irgendetwas'; ?>. Nebenbei wird so auch die Lesbarkeit erhöht.

  2. Perun

    @Ralf,

    ich habe es gedacht es so zu schreiben, wie du es genannt hast, aber ich dachte dass dann von euch erfahrenen PHP-Hasen der Hinweis kommen könnte: "Warum so kompliziert, es geht auch kürzer"? :mrgreen:

  3. Pingback: WordPress: Inhalte auf der Startseite steuern | Peruns Weblog

  4. Pingback: WordPress: Bilder-Slideshow pro Seite oder Kategorie | WordPress & Webwork

  5. Pingback: WordPress: die Artikelseite ansprechen | WordPress & Webwork

Die Kommentare in diesem Beitrag sind geschlossen.