Ankerlink an den Anfang der Seite
806 0305
Foto von Gabriele Lässer

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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht kann zur Spamprüfung an einen KI-Dienst übermittelt werden. Details: Datenschutzerklärung und Datenschutzerklärung von Mistral AI.