Der Beitrag, geschriebem am 7. März 2013, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein
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;



Schreibe einen Kommentar