Coding | PHP

Positionen in WordPress abfragen (mit Conditional Tags)

condtional tags orientierung

Diese Liste gibt lediglich einen Teil der Bedingungen (Conditional Tags) wieder, die in WordPress verfügbar sind, nämlich jene die feststellen, ob man sich an einer bestimmten Position befindet, in einem Archiv, auf einer Seite etc.. Diese hat in den meisten Fällen auch Einfluss auf das gesuchte / geladene Template. Zum Beispiel page.php wird nur dann angewendet, wenn man sich auf einer statischen Seite befindet, wie http://www.example.com/impressum. Nach is_page() zu fragen würde sich innerhalb des Templates erübrigen, weil sie mit dessen Anwendung bereits beantwortet ist. Die nach einer bestimmten Seiten-ID allerdings nicht. Dafür müsste es ein Template page-$id.php oder page-$slug.php geben.

is_admin()

Die Bedingung trifft zu, wenn man sich im Administrationsbereich / Dashboard von WordPress befindet.
http://www.example.com/wp-admin/

is_customize_preview()

Wenn man auf “Anpassen” klickt, um die Einstellungen mit Echtzeitausblick auf das Ergebnis vorzunehmen ist diese Bedingung gegeben. Hier befindet man sich gewissermaßen in der Zwischenwelt von WordPress.

is_main_query()

Diese Abfrage weiß, ob man sich im Frontbereich (nicht Dashboard) aufhält, wo WordPress Inhalte im Loop oder auf einer Seite / einem Beitrag anzeigt.

is_home()

Das trifft auf der Hauptseite zu, sofern sie nicht auf eine statische Seite zeigt. Andernfalls erfüllt die Bedingung nur die Blogstartseite (wenn definiert).
http://www.example.com/ oder http://www.example.com/blogseite/

is_front_page()

Die »absolute« Startseite, die entweder das Blog sein kann (dann sind is_home() und is_front_page() beide true), oder wenn eine statische Seite als Startseite definiert wurde (dann sind is_home() und is_front_page() verschiedene Positionen) erfüllt die Bedingung nur diese, das Blog nicht mehr.

is_single()

Hier ist man auf einem Beitrag, das kann auch ein Custom Post Type sein.
is_single( '15' )
Ein Beitrag mit einer bestimmten ID ist gefragt.
is_single( array( 15, 20, 25 ) )
Wenn einer der Beiträge im Array aufgerufen ist, trifft diese Bedingung zu.

is_sticky()

Ein hervorgehobener Beitrag erfüllt diese Bedingung.
is_sticky( '42' )
Ein bestimmter hergehobener Beitrag (ID) kann damit ggf. erreicht werden.

is_page()

Diese Bedingung trifft ausnahmslos dann zu, wenn es sich um den im Core eingebauten (»builtin«) Post Type page handelt.
is_page( '42' )
Fragt nach einer bestimmten Seite ( erlaubt sind Titel, Slug und ID ).
is_page( array( 23, 42 ) )
Fragt nach einer der Seiten im Array ( erlaubt sind Titel, Slug und ID ).

is_attachment()

Wird die Seite eines Dateianhangs aufgerufen, trifft diese Bedingung zu. Unabhängig davon, ob es sich um ein Bild, ein PDF, eine Audio- oder sonstige Datei handelt, ist auch das ein Post mit einem Titel, einem Excerpt (»Beschriftung«, optional) und einem Textkörper (»Beschreibung«, optional).

is_archive()

Ob Kategorie-, Tag-, Taxonomy-, Post Type-, Autor- oder Datums-Archiv, die Antwort ist <code>true</code>.

 is_category()

Diese Abfrage weiß, wenn man sich in einem Kategorie-Archiv befindet.
is_category( $category )
Herausfinden ob man sich im Archiv einer bestimmten Kategorie befindet (Slug oder ID)…
is_category( array( 1, 4, 7 ) )
… oder in einem von mehreren (Slugs oder ID)

is_tag()

Die Bedingung trifft zu, wenn man sich in einem Schlagwort-Archiv befindet.
is_tag( $tag )
Und diese zeigt an, wenn es sich um ein bestimmtes Schlagwort handelt…
is_tag( array( 3, 4, 7 ) )
… oder in einem von mehreren (Slug oder ID)

is_author()

Gibt true zurück, wenn man sich in einem Autorenarchiv befindet
is_author('2')
Gibt true zurück, wenn man sich im Archiv eines bestimmten Autoren befindet (ID, Nickname oder Slug, resp. Nicename).
is_author( array( 3, 4, 5 ) )
Gibt true zurück, wenn man sich im Archiv eines der Autoren im Array befindet (ID, Nickname oder Slug, resp. Nicename).

is_date()

Das Archiv bezieht sich auf einen Zeitraum.
is_year()
Das Archiv bezieht sich auf den Zeitraum eines Jahres.
is_month()
Das Archiv bezieht sich auf den Zeitraum eines Monats.
is_day()
Das Archiv bezieht sich auf den Zeitraum eines Tages.

is_feed()

Wer sich nur auf Feeds beziehen will (oder sie ausschließen), muss mit dieser Bedingung arbeiten.

is_search()

Was auf eine Sucheanfrage hin ausgegeben wird, erfüllt diese Bedingung.

is_404()

Wer einen Link auf einen nicht (mehr) verfügbaren Inhalt aufruft, macht diese Bedingung wahr.

is_paged()

Ab Seite zwei eines Archivs trifft diese Bedingung zu (www.example.com/archiv/page/2/), wohingegen die erste Seite mit !is_paged() ansprechbar ist (www.example.com/archiv/).

is_post_type_archive()

Herausfinden ob man sich im Archiv eines benutzerdefinierten Inhaltstyps befindet.
is_post_type_archive( $post_type )
Herausfinden, ob man sich im Archive eines bestimmten Inhaltstyps befindet.
is_post_type_archive( array( 'posttype1', 'posttype2', 'posttype3' ) )
Herausfinden, ob man sich im Archive eines der Inhaltstypen im Array befindet (Slug).
http://www.example.com/$post_type/

is_singular()

Die Seite ist kein Archiv sondern Beitrag, eine einzelne Seite oder gehört zu einem benutzerdefinierten Inhaltstyp. Damit lässt sich allerdings nicht differenzieren, ob es sich um einen benutzerdefinierten Typen handelt oder einen eingebauten.
is_single() && !is_singular( array( 'post', 'page', 'attachment' ) )
Ein einzelner Beitrag, der nicht zu den »builtin« Typen gehört lässt sich mit dieser Kombination ermitteln. is_single() schließt dabei Archive aus, bei denen das Ergebnis sonst ebenfalls true wäre.
is_singular( $post_type )
Die Frage nach einem bestimmten Post Type umfasst sowohl Beitrag, Seite, Anhang als auch Custom Post Type, je nachdem welchen man angibt (Slug mit dem der Typ registriert wird).

is_tax()

Das Archiv gehört zu einer benutzerdefinierten Taxonomy.
is_tax( $taxonomy )
Im Archiv einer bestimmten Taxonomy wahr und entspricht genau genommen is_category(), da category ebenfalls eine Taxonomy ist, aber bereits eingebaut.
is_tax( $taxonomy, $term )
Stellt fest, ob man sich in einem bestimmten Term einer bestimmten Taxonomy befindet.
is_tax( $taxonomy, array( $term1, $term2, $term3 ) )
Stellt fest, ob man sich in einem der Terme (Slugs-Array) einer Taxonomy befindet.

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.