Die Conditional Tags is_singular() und is_archive()

Heute will ich mal die beiden Conditional Tags is_singular() und is_archive() näher vorstellen, weil ich sie zum einen nützlich finde und zum anderen weil sie auch einige der Abfragen abkürzen können.

Alle Archive auf einen Streich

Hier ein recht häufiges Beispiel, welches mir in einigen freien Themes und Tutorials über den Weg gelaufen ist:

if (is_category() or is_tag() or is_archive()) { ... }

Diese Abfrage ist unnötig lang, die kann man folgendermaßen abkürzen:

if (is_archive()) { ... }

Und Warum? Der Conditional Tag is_archive() spricht die Archive im Allgemeinen an, also die Kategorien is_category(), die Tags is_tag(), das Autor-Archiv is_author() und die verschiedenen zeitlichen Archive:

  • is_year: Jahresarchiv
  • is_month(): Monatsarchiv
  • is_day: Wochentage
  • is_date(): Zeit-Archiv allgemein
  • is_time(): Stunden, Minuten und Sekunden

Will man also die Archive im Allgemeinen abfragen oder für die selbigen eine extra Regel (zum Beispiel ein anderes Hintergrundbild) erstellen möchte, dann reicht der Einsatz von is_archive() völlig aus.

Erst wenn man einen Archivart explizit ansprechen oder ausschließen möchte, benötigt man den jeweiligen Conditional Tag. Hier ein Beispiel:

if (is_archive() and !is_author()) { ... }

Hiermit spricht man alle Archivarten an, ausgenommen den Autor-Archiv.

Die Einzelansicht(en)

Will man die Ansicht eines einzelnen Artikels ansprechen, dann setzt man is_single() ein. Will man die Seiten (Pages) im einzelnen ansprechen, dann kommt is_page() zum Einsatz.

Beide sind aber Einzelansichten und sind daher durch ein einen gemeinsamen Conditional Tag is_singular() ansprechbar. Deswegen besteht keine Notwendigkeit folgendes Konstrukt zu schreiben:

if (is_single() or is_page()) { ... }

Außer man möchte die Ansicht eines Anhangs is_attachment() ausschließen, weil is_singular() auch diese Ansicht anspricht.

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:

Ein Kommentar

  1. […] This post was mentioned on Twitter by Sergej Müller and Simon Rimkus, Vladimir Simovic. Vladimir Simovic said: Die Conditional Tags is_singular() und is_archive() http://goo.gl/fb/vKZno #wordpress […]

Kommentare sind geschlossen.