Coding | PHP | WordPress

Titel für Kategorie-, Tag-, Term-, Datum- und Suchbegriff(e)-Ansichten in WordPress wiedergeben

files 1633406 1920

Nachtrag 15.02.2016

Seit WordPress 4.1 kümmert sich darum eine einzige Funktion

the_archive_title( '<h1 class="archive-title">', '</h1>' );

Sie gibt <a href="https://developer.wordpress.org/reference/functions/get_the_archive_title/" target="_blank">get_the_archive_title()</a> aus.

Der Rest ist Geschichte.

Wenn sich Templates nur in kleinen Details unterscheiden, wie beispielsweise dem Titel (Kategorie, Term, Tag etc.), und daher nur eine index.php (und eventuell noch archive.php) vorgesehen ist, erhält man die Titel der unterschiedlichen Archivansichten wie folgt (in den Templates die in der Hierarchie zuerst geladen würden, erübrigt sich die Abfrage der Bedingung – z.B. ist category.php bereits die Antwort auf die Frage if ( is_category() )).

Term, Kategorie, Tag und Posttype

$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); if ( $term ) printf( __( '<h1 class="archive-title">Taxonomy Term: <span>%1$s</span></h1>' , 'textdomain' ) , single_term_title( '', false ) ); if ( is_category() ) printf( __( '<h1 class="archive-title">Category: <span>%1$s</span></h1>' , 'textdomain' ) , single_cat_title( '', false ) ); if ( is_tag() ) printf( __( '<h1 class="archive-title">Tag: <span>%1$s</span></h1>' , 'textdomain' ) , single_tag_title( '', false ) ); if ( is_post_type_archive() ) printf( __( '<h1 class="archive-title">Post Type: <span>%1$s</span></h1>' , 'textdomain' ) , post_type_archive_title( '', false ) );

Suchstring als Titel

Wenn es keine search.php gibt, wird unter der Bedingung is_search() im Gegensatz zu oben angeführten Titeln nicht archive.php sondern index.php angesteuert.

if ( is_search() ) printf( __( '<h1 class="archive-title">Search Results: <span>%1$s</span></h1>' , 'textdomain' ) , get_search_query() );

Zeitbasierte Archive

if ( is_day() ) : printf( __( '<h1 class="archive-title">Date: <span>%s</span></h1>', 'textdomain' ) , get_the_date() ); elseif ( is_month() ) : printf( __( '<h1 class="archive-title">Month: <span>%s</span></h1>', 'textdomain' ) , get_the_date( _x( 'F Y', 'monthly archives date format', 'textdomain' ) ) ); elseif ( is_year() ) : printf( __( '<h1 class="archive-title">Year: <span>%s</span></h1>', 'textdomain' ) , get_the_date( _x( 'Y', 'yearly archives date format', 'textdomain' ) ) ); endif;

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.