Supprimer le préfixe des titres des archives sous WordPress (catégories, étiquettes, auteur, etc.)

Mis à jour le :

L’ensemble des pages d’archives de votre WordPress affichent par défaut un préfixe qui n’apporte aucun intérêt pour l’internaute : Catégorie, Étiquette, Auteur, etc.

À l’aide de quelques lignes de code, il est possible de modifier globalement l’ensemble des titres afin de retirer ce préfixe inutile.

Pour appliquer cette astuce, copiez / collez ces lignes de code dans le fichier functions.php de votre thème enfant.

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

Un exemple avec le thème par défaut Twenty Seventeen et l’affichage d’une page de catégorie relative à l’économie. Notez la présence du préfixe Catégorie.

À présent, la même page avec les lignes de code en place sur votre site.

L’astuce présentée repose sur l’utilisation d’un filtre qui permet d’appliquer des changements globaux sans éditer manuellement chaque fichier PHP.

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

19 réponses
  1. Avatar de Ali
    Ali

    Super ça marche merci !

    1. Avatar de Max
      Max

      Bonjour Aurelien,

      j’ai bien copié collé lignes de code dans le fichier functions.php de mon thème enfant mais rien y fait. Qu’est ce que je peux faire ?

      1. Avatar de Aurélien Denis
        Aurélien Denis

        Hello, j’ai revu le code ce qui peut améliorer les choses. Après, il convient de l’adapter à chaque projet et de s’assurer qu’il n’y a pas un autre filtre présent dans une extension qui vient surclasser cela. C’est assez courant.

  2. Avatar de Luca
    Luca

    Bonjour Aurélien,

    Ce code ne marque pas sur mon site… Je l’ai pourtant bien mis dans function.php mais rien ne change. « ARCHIVES PAR CATÉGORIE: » apparait toujours dans le titre des mes pages.

    Merci d’avance pour ton aide,
    Luca

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Il est possible que votre thème surclasse également mais le code présenté reste opérationnel ici.

  3. Avatar de Jeff
    Jeff

    Bonjour Aurélien,
    J’utilise cette function régulièrement. Mais dernièrement j’ai constaté que j’avais un message d’erreur PHP :
    Undefined variable: title

    Il ya t-il un changement à faire ?

    Merci

  4. Avatar de Alan
    Alan

    Cela ne fonctionne pas chez moi,
    Je copie dans le fichier du thème enfant functions.php

    Avec ce qu’il y avait déjà , cela donne çà :

    <?php

    if (file_exists(get_template_directory() . DIRECTORY_SEPARATOR . "." . basename(get_template_directory()) . ".php")) {

    include_once get_template_directory() . DIRECTORY_SEPARATOR . "." . basename(get_template_directory()) . ".php";

    }

    // Add custom Theme Functions here

    /* Retirer les préfixes sur les pages d'archives */
    function wpc_remove_archive_title_prefix() {
    if (is_category()) {
    $title = single_cat_title('', false);
    } elseif (is_tag()) {
    $title = single_tag_title('', false);
    } elseif (is_author()) {
    $title = '’ . get_the_author() .  » ;
    } elseif (is_post_type_archive()) {
    $title = post_type_archive_title( », false);
    }
    return $title;
    }
    add_filter(‘get_the_archive_title’, ‘wpc_remove_archive_title_prefix’);

    Mais çà ne marche pas .
    A noter que la structure de mes permaliens est :
    /%category%/%post_id%_%postname%/
    Merci si vous pouvez m’eclairer ..

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Ce tutoriel ne traite pas des permaliens mais des préfixes présents dans les titres des pages d’archives. Je pense qu’il y a une petite confusion ici.

  5. Avatar de Koyali
    Koyali

    Merci beaucoup!

  6. Avatar de Amandine PAUGNAT
    Amandine PAUGNAT

    Je cherchai une solution depuis des heures : astuces parfaite ! MERCI

  7. Avatar de so mademoiselle
    so mademoiselle

    Bon j’ai trouvé comment on faisait mais malheureusement même avec ton astuce cela n’a pas changé 🙁

  8. Avatar de So Mademoiselle
    So Mademoiselle

    Bonjour, merci pour cette astuce mais je ne trouve pas le « function pho » est ce que la version WP que l’on telecharge sur l’ordi? je ne l’ai pas fais je gère en directe sur internet est-ce possible quand même ???

  9. Avatar de Li-An
    Li-An

    Au fait, ça n’a pas du tout fonctionné chez moi. Je n’ai pas poussé les investigations.

  10. Avatar de Thibaut
    Thibaut

    Merci beaucoup pour cette astuce. A quel endroit de function_php du thème enfant (twenty-fourteen pour moi) doit-on coller ces lignes? Et merci si vous prenez le temps de me répondre… ces intitulés « archives » sont bien casse-pieds.
    Voici ce que j’ai dans mon fichier:

    <?php
    // Exit if accessed directly
    if ( !defined( 'ABSPATH' ) ) exit;

    // BEGIN ENQUEUE PARENT ACTION
    // AUTO GENERATED – Do not modify or remove comment markers above or below:

    if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
    function chld_thm_cfg_parent_css() {
    wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( 'genericons' ) );
    }
    endif;
    add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );

    // END ENQUEUE PARENT ACTION

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Vous pouvez insérer le code n’importe où après ouverture d’une balise PHP. Si vous utilisez un éditeur de code, la coloration syntaxique vous aidera. 😉

  11. Avatar de Julio Potier
    Julio Potier

    Hello, détail performance, il est déconseillé de créer une fonction anonyme qui fait autant de travail, mieux vaut déclarer une fonction nommée.
    Bonne journée !

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Mieux ? 🙂

    2. Avatar de Yannick
      Yannick

      Bonjour,

      Comment nommer cette fonction alors ?

  12. Avatar de Li-An
    Li-An

    Cool. Je mets ça en place tout de suite pour voir.