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.
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;
});
Utilisez la fonction single_term_title()
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 );
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>
echo '<h1 class="page-title">' . single_cat_title( '', false ) . '</h1>';
in taxonomy-category.php en dehors du public du thème.
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;
}