web-dev-qa-db-fra.com

Supprimer "Catégorie:", "Tag:", "Auteur:" de the_archive_title

J'ai le code suivant dans le fichier archive.php de mon thème:

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

Cela me donne des titres comme "Catégorie: Russie", "Tag: Amérique", "Auteur: John".

Je souhaite supprimer les parties "Catégorie:", "Tag:" et "Auteur:" et simplement afficher les noms de catégorie, de balise et d’auteur.

Est ce que quelqu'un sait comment accomplir cela?

Je vous remercie.

44
Nick

Vous pouvez étendre le filtre get_the_archive_title que j'ai mentionné dans cette réponse

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

Utilisez la fonction single_term_title()

23

Pour le titre CPT sans mot: "Archive":

Si vous construisez un modèle d'archive personnalisé pour un CPT et souhaitez afficher uniquement le titre du CPT sans mot supplémentaire tel que "Archive", utilisez plutôt la fonction suivante:

echo post_type_archive_title( '', false );

De developer.wordpress.org

9
Mike

J'ai l'impression que c'est trop simplifier les choses, mais c'est ce que j'ai fait ...

<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 en dehors du public du thème.

2
Hoang Oanh

Je voudrais utiliser un filtre et le mettre dans un fichier functions.php

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

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