Supprimer le préfixe des titres des archives sous WordPress (catégories, étiquettes, auteur, etc.)
Par Aurélien Denis
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.
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.
Par Aurélien Denis
Consultant & Développeur WordPress / WooCommerce.
Un site à créer, à maintenir ou à débuguer ? Contactez-moi.
Récemment, une erreur 406 est survenue suite à la rédaction d’un tutoriel. Celle-ci s’est produite lors de l’enregistrement du billet avec pour conséquence la…
16 commentaires
Li-An
Cool. Je mets ça en place tout de suite pour voir.
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 !
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:
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. 😉
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 ???
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
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.
L’expérience client sur un site e-commerce est l’élément-clé pour fidéliser vos acheteurs. Cela passe notamment par l’envoi de mails qui doivent tisser un lien…
Retrouvez la maîtrise de vos données, respectez le RGPD et améliorez la confiance perçue par vos visiteurs avec Matomo, l’alternative open source à Google…
Depuis WordPress 5.9, un sélecteur de langues peut s’afficher sur la page de connexion à votre interface d’administration. Ce sélecteur liste les langues présentes…
WordPress 5.9 est disponible au téléchargement en français et porte à l’honneur Joséphine Baker. Cette version majeure apporte la deuxième partie du Full Site…
Choisir la meilleure plateforme pour son site e-commerce relève du parcours du combattant. Chaque solution présente des avantages et des inconvénients : comme toujours…
Cool. Je mets ça en place tout de suite pour voir.
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 !
Mieux ? 🙂
Bonjour,
Comment nommer cette fonction alors ?
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
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. 😉
Au fait, ça n’a pas du tout fonctionné chez moi. Je n’ai pas poussé les investigations.
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 ???
Bon j’ai trouvé comment on faisait mais malheureusement même avec ton astuce cela n’a pas changé 🙁
Je cherchai une solution depuis des heures : astuces parfaite ! MERCI
Merci beaucoup!
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 ..
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.
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
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
Il est possible que votre thème surclasse également mais le code présenté reste opérationnel ici.