Lorsque nous avons lancé notre premier site WordPress riche en contenu, nous n'aurions jamais pensé que les titres des articles de blog poseraient problème. Certains de nos titres les plus longs brisaient notre belle mise en page, tandis que d'autres semblaient tout simplement désordonnés sur les appareils mobiles.
Au fil des années de gestion de plusieurs sites WordPress et d'aide aux propriétaires de sites Web, nous avons découvert que la troncature des titres d'articles permet d'assurer un aspect cohérent et raffiné qui retient l'attention de votre public.
Dans ce guide, nous partagerons des techniques efficaces pour raccourcir automatiquement vos titres d'articles de blog WordPress avec PHP, vous aidant ainsi à tout maintenir d'une apparence soignée.

Pourquoi tronquer les titres d'articles dans WordPress avec PHP ?
La troncature des titres d'articles dans WordPress avec PHP vous donne plus de contrôle sur la longueur de vos titres d'articles et sur la façon dont ils s'affichent sur votre site Web.
Par exemple, vous pourriez vouloir couper les titres d'articles longs sur votre page d'accueil afin qu'ils ne perturbent pas la conception de votre blog WordPress.

Cela permet également de garder votre blog visuellement agréable et facile à naviguer pour vos lecteurs.
Remarque : Si votre objectif est d'optimiser vos articles de blog pour le SEO en utilisant des titres plus courts, la troncature pourrait ne pas être nécessaire. Au lieu de cela, un plugin SEO WordPress peut simplifier la création de balises de titre SEO courtes et efficaces.
Nous recommandons All in One SEO (AIOSEO) car il vous permet de créer des titres SEO personnalisés pour les pages de résultats de recherche tout en conservant des titres de publication plus longs pour vos visiteurs sur votre site.
Pour plus de détails, consultez notre guide ultime sur comment configurer AIOSEO correctement.
Maintenant, explorons deux façons de tronquer les titres des articles WordPress sur votre site en utilisant PHP :
- Méthode 1 : Tronquer les titres des articles WordPress avec une fonction WordPress
- Méthode 2 : Tronquer les titres des articles WordPress avec PHP en modifiant les fichiers du thème WordPress
Méthode 1 : Tronquer les titres des articles WordPress avec une fonction WordPress
La façon la plus simple de tronquer les titres des articles WordPress dans WordPress est d'ajouter du code PHP à vos fichiers WordPress. Si vous ne l'avez jamais fait auparavant, consultez notre guide sur comment copier et coller du code dans WordPress.
De nombreux tutoriels vous diront d'ajouter du code directement dans le fichier functions.php de votre thème. Cependant, toute erreur pourrait causer des problèmes ou même casser votre site.
C'est pourquoi nous recommandons plutôt d'utiliser le plugin gratuit WPCode. C'est un outil pratique qui facilite l'ajout et la gestion de code personnalisé sur votre site WordPress, sans modifier directement les fichiers du thème.
Chez WPBeginner, nous utilisons ce plugin pour ajouter et gérer nos extraits de code personnalisés. Vous pouvez consulter notre critique complète de WPCode pour en savoir plus.
Tout d'abord, vous devez installer et activer le plugin gratuit WPCode. Si vous avez besoin d'aide pour cela, veuillez consulter notre guide étape par étape sur comment installer un plugin WordPress.
Après l'activation, sélectionnez Code Snippets » + Ajouter un extrait dans la barre latérale de votre administration. Ensuite, survolez l'option « Ajouter votre code personnalisé (nouvel extrait) » avec votre souris, puis cliquez sur le bouton « Ajouter un extrait personnalisé » qui apparaît.

Cela ouvrira une nouvelle page où vous pourrez saisir un titre pour l'extrait, puis ajouter le code.
Copiez et collez simplement le code suivant dans le volet Aperçu du code dans WPCode.
function max_title_length( $title ) {
$max = 35;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}
add_filter( 'the_title', 'max_title_length');
Voici à quoi cela devrait ressembler une fois que vous avez ajouté le code.

Ce code s'exécutera dans la boucle de vos articles WordPress et raccourcira les titres de vos articles de blog à 35 caractères. Pour modifier la longueur de votre titre, définissez simplement la variable $max sur la longueur de titre souhaitée.
Si vous avez besoin d'aide, consultez notre article sur comment ajouter du code personnalisé dans WordPress.
Ensuite, vous devez choisir « Extrait PHP » dans le menu déroulant Type de code.
Enfin, vous devrez activer le réglage Actif, puis enregistrer l'extrait en cliquant sur le bouton « Enregistrer l'extrait ».

Maintenant que l'extrait de code est actif, les titres de vos articles de blog seront raccourcis partout où ils apparaissent sur votre site WordPress.
Comme le montre la capture d'écran ci-dessous, le titre s'arrête à 35 caractères et est suivi de points de suspension « … » à la fin.

Méthode 2 : Tronquer les titres des articles WordPress avec PHP en modifiant les fichiers du thème WordPress
Une autre façon de tronquer les titres des articles WordPress est d'ajouter du code directement dans les fichiers de votre thème WordPress.
Cette méthode vous donne plus de contrôle sur l'endroit où vos titres sont raccourcis. Par exemple, vous pourriez vouloir couper les titres uniquement sur votre page d'accueil, mais afficher le titre complet sur le billet de blog.
⚠️ Astuce de pro : Avant de continuer avec la méthode 2, n'oubliez pas que la mise à jour de votre thème peut écraser les modifications personnalisées.
Pour maintenir votre site à jour sans perdre vos personnalisations, consultez notre guide sur comment mettre à jour votre thème WordPress sans perdre les personnalisations.
Pour ce faire, vous devrez ajouter le code PHP directement dans les fichiers de votre thème WordPress où vous souhaitez tronquer les titres de vos articles de blog.
Par exemple, vous pouvez ajouter l'extrait de code ci-dessous à votre fichier index.php pour remplacer la balise the_title existante dans votre boucle d'articles WordPress afin de modifier la longueur du titre sur l'ensemble du site :
<a href="<?php the_permalink() ?>">
<?php
$thetitle = $post->post_title; /* or you can use get_the_title() */
$getlength = strlen($thetitle);
$thelength = 25;
echo substr($thetitle, 0, $thelength);
if ($getlength > $thelength) echo "...";
?>
</a>
Ce code définit la longueur du titre de l'article à 25 caractères. Si la longueur du titre est supérieure à 25 caractères, il tronquera le titre après 25 caractères et ajoutera des points de suspension « … » à la fin.
Pour modifier la longueur des caractères de votre site Web, changez simplement la variable $thelength par le nombre de caractères souhaité.
Une fois que vous avez ajouté le code et enregistré votre fichier, vous devez le téléverser dans le répertoire de votre thème sur votre compte d'hébergement WordPress.
Vous pouvez le faire en utilisant un client FTP ou l'outil de gestion de fichiers de votre panneau de contrôle d'hébergement WordPress. Si vous n'avez jamais utilisé FTP auparavant, consultez notre guide sur comment utiliser FTP pour téléverser des fichiers sur WordPress.
Une fois le code ajouté, les titres de vos articles seront tronqués au nombre de caractères que vous avez défini.
Nous espérons que cet article vous a aidé à apprendre comment tronquer les titres des articles WordPress avec PHP. Vous pourriez également vouloir consulter notre guide sur comment écrire un excellent article de blog et nos choix d'experts des meilleurs outils et plugins de marketing de contenu pour WordPress.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.


kzain
Une excellente solution pour nettoyer ces longs titres !
Surtout avec des titres accrocheurs, parfois ils peuvent devenir un peu incontrôlables. Cette fonction personnalisée semble simple à implémenter, bien que j'aie peut-être besoin d'un ami pour m'aider avec la partie PHP.
Achintha
Il existe une fonction WordPress pour limiter les mots. Il est préférable de l'utiliser.
http://codex.wordpress.org/Function_Reference/wp_trim_words
dustinporchia
C'est de l'or !…. Merci wpbeginner !
adm_mnz
Si vous utilisez mb_substr, il y a un paramètre pour l'encodage.
http://php.net/manual/en/function.mb-substr.php
Junaid
Génial ! Je cherchais justement pour le projet d'un client
Marco
Quelqu'un sait comment tronquer le titre du lien de previous_post_link(); ?
merci
Brow
Merci, ça a parfaitement fonctionné ! Je ne voulais pas utiliser un plugin juste pour ça et j'étais content que votre code tronque correctement les titres.
Merci encore !
Joey Figaro
Salut – merci pour cet article ! Je suis tombé sur un autre exemple pour y parvenir qui semblait beaucoup plus simple, alors je vais le partager avec vous et voir ce que vous en pensez.
functions.php :
function new_excerpt_length($length) { return 100; } add_filter(‘excerpt_length’, ‘new_excerpt_length’);
Personnel éditorial
Ce sont deux concepts entièrement différents... Celui que vous recommandez concerne les extraits de posts, tandis que celui dont nous parlons concerne les titres de posts.
Admin
Joey Figaro
Wow, that’s embarrassing.
Lena
Salut ! Cela ne fonctionne pas si vous utilisez d'autres langues que l'anglais. Mon titre suédois est horrible car le code ne traduit pas å ä et ö par rapport au code par défaut. Des suggestions sur ce que je dois faire ? C'est une bonne astuce et je veux l'utiliser.
Cordialement Lillan
Personnel éditorial
Hmm... cela semble être un problème sérieux. Je me demande si vous pouvez spécifier la langue via PHP, afin qu'elle compte les caractères dans cette langue au lieu de l'anglais.
Admin
Alex
You might wanna try to specify a different charset, check Latin1 or utf8 i think they contain those chars as well.. I had some similar issues recently since my first language is german
Personnel éditorial
Thank you for helping out Alex
Ben Kulbertis
Merci pour le Trackback !
Personnel éditorial
We appreciate your work for the community. Thanks for the nice snippet
Admin
Navjot Singh
Une suggestion, ce type de code devrait être inclus dans functions.php et non dans index.php. Vous pouvez utiliser des balises conditionnelles pour restreindre le code à n'importe quelle page que vous souhaitez, que ce soit la page d'accueil ou toute autre page où vous le souhaitez.
Personnel éditorial
Ceci est juste pour des zones spécifiques… Mais oui, cela peut être personnalisé et placé dans functions.php
Admin
Thomas Scholz
N'utilisez pas strlen(). Utilisez mb_strlen() ou strlen(utf8_decode($str)) ou vous risquez de tronquer la chaîne à l'intérieur d'un caractère multi-octet. Il en va de même pour mb_substr().
Oh, and an ellipsis is one character: …
snipsley
Merci !! mb_strlen() et mb_substr ont résolu mon problème d'encodage. Je cherchais ça depuis des heures !
Lena Backstedt
Grand merci !
mb_strlen() semble également fonctionner pour la langue suédoise (pour autant que je puisse en juger)