Woocommerce Archives

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

Temps de lecture estimé : 3 minutes

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.

Woocommerce Archives
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 );

}

 

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

Laisser un commentaire

Votre adresse de messagerie 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.