Comment retirer le mot « catégorie », « auteur », « tag » dans les pages archives de WordPress

WordPress affiche par défaut sur chaque page article un préfixe devant chaque type de contenu : pour les archives, les mots clés, les auteurs, etc.

Exemple de préfixe pour une catégorie

L’idée est donc pouvoir retirer par exemple le préfixe « Catégorie » sur l’ensemble des pages du site, en conservant le titre de la catégorie bien entendu !

Il suffit de rajouter ce petit bout de code dans le functions.php de votre thème WordPress et le problème sera réglé !

/* Retirer les préfixes sur les pages d'archives */
function wp_retirer_prefix_dans_archives() {
	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>' ;
		} elseif (is_post_type_archive()) {
			 $title = post_type_archive_title('', false);
		}
	return $title;
}
add_filter('get_the_archive_title', 'wp_retirer_prefix_dans_archives');

Pour aller un peu plus loin, il s’agit d’un filtre qui est appliqué à la fonction « get_the_archive_title

En un mot il s’agit d’une fonction qui s’exécute à un point d’entrée précis qui est défini (appelé hook) généralement pour modifier le résultat. Dans notre cas notre fonction wp_retirer_prefix_dans_archives est un filtre, que nous souhaitons déclencher dans le traitement de la fonction de base de wordpress get_the_archive_title

Voici le code source de cette fonction, et tout à la fin on définit bien qu’on applique toutes les fonctions définies en tant que filtres pour get_the_archive_title.  C’est bien cette fonction de base qui définit l’affichage des préfixes comme « Catégorie », et c’est justement ce que l’on souhaite changer. Notre filtre nous permet donc de changer le résultat de cette fonction sans toucher à son code source

function get_the_archive_title() {
    if ( is_category() ) {
        /* translators: Category archive title. 1: Category name */
        $title = sprintf( __( 'Category: %s' ), single_cat_title( '', false ) );
    } elseif ( is_tag() ) {
        /* translators: Tag archive title. 1: Tag name */
        $title = sprintf( __( 'Tag: %s' ), single_tag_title( '', false ) );
    } elseif ( is_author() ) {
        /* translators: Author archive title. 1: Author name */
        $title = sprintf( __( 'Author: %s' ), '<span class="vcard">' . get_the_author() . '</span>' );
    } elseif ( is_year() ) {
        /* translators: Yearly archive title. 1: Year */
        $title = sprintf( __( 'Year: %s' ), get_the_date( _x( 'Y', 'yearly archives date format' ) ) );
    } elseif ( is_month() ) {
        /* translators: Monthly archive title. 1: Month name and year */
        $title = sprintf( __( 'Month: %s' ), get_the_date( _x( 'F Y', 'monthly archives date format' ) ) );
    } elseif ( is_day() ) {
        /* translators: Daily archive title. 1: Date */
        $title = sprintf( __( 'Day: %s' ), get_the_date( _x( 'F j, Y', 'daily archives date format' ) ) );
    } elseif ( is_tax( 'post_format' ) ) {
        if ( is_tax( 'post_format', 'post-format-aside' ) ) {
            $title = _x( 'Asides', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) {
            $title = _x( 'Galleries', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
            $title = _x( 'Images', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
            $title = _x( 'Videos', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
            $title = _x( 'Quotes', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
            $title = _x( 'Links', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
            $title = _x( 'Statuses', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
            $title = _x( 'Audio', 'post format archive title' );
        } elseif ( is_tax( 'post_format', 'post-format-chat' ) ) {
            $title = _x( 'Chats', 'post format archive title' );
        }
    } elseif ( is_post_type_archive() ) {
        /* translators: Post type archive title. 1: Post type name */
        $title = sprintf( __( 'Archives: %s' ), post_type_archive_title( '', false ) );
    } elseif ( is_tax() ) {
        $tax = get_taxonomy( get_queried_object()->taxonomy );
        /* translators: Taxonomy term archive title. 1: Taxonomy singular name, 2: Current taxonomy term */
        $title = sprintf( __( '%1$s: %2$s' ), $tax->labels->singular_name, single_term_title( '', false ) );
    } else {
        $title = __( 'Archives' );
    }
 
    /**
     * Filters the archive title.
     *
     * @since 4.1.0
     *
     * @param string $title Archive title to be displayed.
     */
/*--------------------------------------------
Notre filtre s'appliquera donc ici !
--------------------------------------------*/
    return apply_filters( 'get_the_archive_title', $title );

}

 

mike

mike

Chef de projet web, Mike assure la réussite de projets digitaux depuis 2011. Son but est d'aider les webmasters et les freelances à tirer le meilleur des outils comme WordPress, WooCommerce et Elementor. Sur ce blog il partage son expérience, ses astuces et les pépites dénichées sur le web. Côté pro, Mike adore apprendre de nouveaux trucs et faire progresser les autres, et côté perso les afters, faire des shoots de baskets et les films d'horreur. La légende raconte qu'avec un mojito il vous accordera +4xp de confiance

5 réflexions sur “Comment retirer le mot « catégorie », « auteur », « tag » dans les pages archives de WordPress”

  1. Bonjour , je croyais que c’était un code qui pouvait enlever le mot *Catégorie* par exemple si l’on entre dans la catégorie: Pompon de fourrure, moi c’est écrit quand on clique sur l’onglet dans le menu:
    Catégorie: pompon de fourrure, c’est lourd un peu alors je cherche un truc.

    1. Bonjour Julie,

      Le code donné fonctionne, dans ton cas c’est peut être lié à Elementor, essaye d’éditer le template utilisé pour ta catégorie produit, et au niveau du titre, dans les options de préfixe (je dis ça de mémoire sans avoir testé), tu as un réglage de ce type

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Thématiques

Vous recherchez des astuces dans un secteur donné ? Vous pouvez accéder directement à la catégorie qui vous intéresse !