it-swarm.com.de

Entfernen Sie "Category:", "Tag:", "Author:" aus dem_archive_title

Ich habe den folgenden Code in der archive.php meines Themas:

<?php the_archive_title( '<h1 class="page-title">', '</h1>' ); ?>

Dies gibt mir Titel wie "Kategorie: Russland", "Tag: Amerika", "Autor: John".

Ich möchte den Teil "Kategorie:", "Tag:" und "Autor:" entfernen und nur die Kategorien-, Tag- und Autorennamen anzeigen.

Weiß jemand, wie man das erreicht?

Vielen Dank.

44
Nick

Sie können den get_the_archive_title-Filter erweitern den ich in dieser Antwort erwähnt habe

add_filter( 'get_the_archive_title', function ($title) {

    if ( is_category() ) {

            $title = single_cat_title( '', false );

        } elseif ( is_tag() ) {

            $title = single_tag_title( '', false );

        } elseif ( is_author() ) {

            $title = '<span class="vcard">' . get_the_author() . '</span>' ;

        }

    return $title;

});
66
Pieter Goosen

Benutze die Funktion single_term_title()

23

Für CPT-Titel ohne Word: "Archiv":

Wenn Sie eine benutzerdefinierte Archivvorlage für einen CPT erstellen und nur den Titel des CPT ohne zusätzliches Wort wie "Archiv" ausgeben möchten, verwenden Sie stattdessen die folgende Funktion:

echo post_type_archive_title( '', false );

Von developer.wordpress.org

9
Mike

Ich habe das Gefühl, dass es damit zu weit geht, Dinge zu vereinfachen, aber das habe ich getan ...

<h1><?php echo str_replace("Archives: ", "", get_the_archive_title()); ?></h1>
5
Tisch

echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>'; in taxonomy-category.php außerhalb der Öffentlichkeit des Themas.

2
Hoang Oanh

Ich würde einen Filter verwenden und ihn in eine Datei functions.php einfügen

add_filter( 'get_the_archive_title', 'replaceCategoryName'); 
   function replaceCategoryName ($title) {

   $title =  single_cat_title( '', false );
   return $title; 
}
0
Yaworek