Supprimer “Catégorie:”, “Tag:”, “Auteur:” de the_archive_title

40

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 tels que "Catégorie: Russie", "Tag: Amérique", "Auteur: John".

Je souhaite supprimer les parties "Category:", "Tag:" et "Author:" et simplement afficher les noms de catégorie, de balise et d'auteur.

Quelqu'un sait-il comment accomplir cela?

Merci.

    
posée Nick 27.02.2015 - 06:38

8 réponses

61

Vous pouvez étendre le get_the_archive_title filter 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;

});
    
réponse donnée Pieter Goosen 27.02.2015 - 07:37
22

Utilisez la fonction single_term_title()

    
réponse donnée Тимофей А. 04.03.2016 - 23:55
7

Pour 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

    
réponse donnée Mike 10.08.2017 - 12:24
5

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>
    
réponse donnée Tisch 30.11.2016 - 02:09
2

echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>'; dans taxonomy-category.php en dehors du public du thème.

    
réponse donnée Hoang Oanh 13.08.2016 - 04:22
0

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; 
}
    
réponse donnée Yaworek 14.05.2018 - 12:23
-2

Vous pouvez utiliser ce qui suit pour n'avoir que le titre sans le préfixe

single_cat_title();
    
réponse donnée Xiomara 27.02.2018 - 19:45
-4

répertoire: wp-includes

fichier: general-template.php

fonction de recherche: get_the_archive_title() changer:

if ( is_category() ) {
        $title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        $title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        $title = sprintf( __( 'Autor: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    }

à:

if ( is_category() ) {
        $title = sprintf( __( '%s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        $title = sprintf( __( '%s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        $title = sprintf( __( '%s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    }//if you want to remove or just change text if you need to
    
réponse donnée Dragan Nikolic 06.09.2016 - 15:38

Lire d'autres questions sur les étiquettes