Voulez-vous apprendre à tronquer les titres des publications avec PHP ?
La troncature, ou raccourcissement, vous permet de contrôler la longueur des titres de vos publications de blog sur l’ensemble de votre site. En fonction de votre thème WordPress, il se peut que vous souhaitiez afficher des titres plus courts que ce que votre thème supporte.
Dans cet article, nous allons vous afficher comment tronquer les titres des publications dans WordPress.
Pourquoi tronquer les titres des publications dans WordPress avec PHP ?
La troncature des titres de publication dans WordPress avec PHP vous permet de mieux contrôler la longueur de vos titres de publication et la façon dont ils s’affichent sur votre site.
Par exemple, vous pourriez vouloir couper les longs titres de publication sur votre page d’accueil afin qu’ils n’inactivent pas le design de votre blog WordPress.
Note : Certains utilisateurs/utilisatrices souhaitent simplement utiliser des titres de publication plus courts afin d’optimiser les articles de blog pour le référencement. Dans ce cas, vous n’avez pas besoin de tronquer les titres de publication. Au lieu de cela, vous pouvez simplement utiliser une extension WordPress SEO pour rendre votre identifiant de titre plus court.
Une extension SEO vous permettra 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 internautes sur votre site.
Pour plus de détails, consultez notre guide ultime sur la façon de configurer correctement All in One SEO.
Ceci étant dit, nous allons vous afficher comment tronquer les titres des publications WordPress sur votre site en utilisant deux méthodes différentes :
Méthode 1 : Tronquer les titres des publications WordPress avec une fonction WordPress
La façon la plus simple de tronquer les titres des publications dans WordPress est d’ajouter du code PHP à vos fichiers WordPress. Si vous n’avez jamais fait cela auparavant, alors consultez notre guide sur la façon de 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 peut entraîner une plage d’erreurs WordPress ou même casser votre site.
C’est pourquoi nous vous recommandons plutôt d’utiliser l’extension gratuite WPCode, en suivant notre guide sur la façon d’ajouter du code personnalisé dans WordPress.
Tout d’abord, vous devez installer et activer l’extension gratuite WPCode. Si vous avez besoin d’aide, veuillez consulter notre guide étape par étape sur l’installation d’une extension WordPress.
Une fois activé, sélectionnez » Code Snippets » + Add Snippet dans votre colonne latérale d’administration. Ensuite, survolez l’option » Ajouter votre code personnalisé (nouvel extrait) « , puis cliquez sur le bouton » Utiliser l’extrait » qui apparaît.
Une nouvelle page s’ouvre, dans laquelle vous pouvez saisir un titre pour l’extrait et ajouter le code.
Il suffit de copier et de coller le code suivant dans le volet de Prévisualisation 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');
Ce code s’exécutera à l’intérieur de la boucle de votre article WordPress et raccourcira les titres de vos publications de blog à ’35’ caractères. Pour modifier la longueur de votre titre, définissez simplement la variable $max
à la longueur de votre choix.
Ensuite, vous devez choisir « Extrait de code PHP » dans le menu déroulant Type de code.
Enfin, vous devez activer le paramètre Actif, puis enregistrer l’extrait en cliquant sur le bouton « Enregistrer l’extrait ».
Maintenant que l’extrait de code est activé, les titres de vos publications de blog seront raccourcis partout où ils apparaîtront sur votre site WordPress.
Méthode 2 : Modifier les titres des publications WordPress avec PHP en modifiant les fichiers du thème WordPress
Une autre façon de tronquer les titres des publications WordPress consiste à ajouter du code directement dans les fichiers de votre thème WordPress.
Cette méthode vous permet de mieux contrôler 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 la publication du blog.
Pour ce faire, vous devrez ajouter le code PHP directement dans les fichiers du thème WordPress à l’endroit où vous souhaitez tronquer les titres de vos publications de blog.
Par exemple, vous pouvez ajouter l’extrait de code ci-dessous à votre fichier index.php
pour remplacer l’identifiant the_title
existant à l’intérieur de la boucle de votre publication WordPress afin de modifier la longueur du titre pour 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 le jeu de caractères du titre de la publication à 25 caractères. Si la longueur du titre est supérieure à 25 caractères, le titre sera inactif après 25 caractères et une ellipse ‘…’ sera ajoutée à la fin.
Pour modifier la longueur des caractères de votre site, il suffit de modifier la variable $thelength
en fonction du 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 dans votre compte d’hébergement WordPress.
Vous pouvez le faire en utilisant un client FTP ou l’outil de gestion de fichiers dans votre panneau de contrôle de l’hébergeur WordPress. Si vous n’avez jamais utilisé le FTP, consultez notre guide sur l’utilisation du FTP pour téléverser des fichiers sur WordPress.
Une fois le code ajouté, les titres de vos publications seront tronqués en fonction du nombre de caractères que vous avez défini.
Astuce de pro : Si vous avez utilisé la méthode 2, alors vous perdrez ces modifications lorsque vous mettrez à jour votre thème vers une nouvelle version. Pour éviter cela, consultez notre guide sur la façon de mettre à jour votre thème WordPress sans perdre la personnalisation.
Nous espérons que cet article vous a aidé à apprendre comment tronquer les titres des publications WordPress avec PHP. Vous pouvez également consulter notre guide sur la façon d’écrire une excellente publication de blog et nos choix d’experts des meilleures extensions de balisage de schéma pour WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Achintha
Hey There is a wordpress function for limit words. Better to use that.
http://codex.wordpress.org/Function_Reference/wp_trim_words
dustinporchia
This is golden!….Thanks wpbeginner!
adm_mnz
If you use mb_substr there is a parameter for encoding.
http://php.net/manual/en/function.mb-substr.php
Junaid
Sweet! was just looking for a clients project
Marco
Does anybody know how the link title of previous_post_link(); could be truncated?
thanks
Brow
Thanks this worked perfectly! I didn’t want to end up using a plugin just to do this and was happy your code cut down the titles properly.
Thanks again!
Joey Figaro
Hey there – thanks for writing this up! I happened to stumble upon another example of how to achieve this and it seemed a lot more simple, so I will share it with you and see what you think.
functions.php:
function new_excerpt_length($length) {
return 100;
}
add_filter(‘excerpt_length’, ‘new_excerpt_length’);
Editorial Staff
These are two entirely different concepts…. The one you recommend is for post excerpts whereas the one we are talking about is for Post Titles.
Administrateur
Joey Figaro
Wow, that’s embarrassing.
Lena
Hi!
This doesn’t work if you use other languages than english. My swedish titel looks awful because the code doesn’t translate å ä and ö comparing to the default code. Any suggestions of what I have to do? This is a good trick and i want to use it.
Kindly Lillan
Editorial Staff
Hmm… that does sound like a serious issue. Wondering if you can specify the language via PHP, so it counts characters in that instead of english.
Administrateur
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
Editorial Staff
Thank you for helping out Alex
Ben Kulbertis
Thanks for the Trackback!
Editorial Staff
We appreciate your work for the community. Thanks for the nice snippet
Administrateur
Navjot Singh
One Suggestion, this type of code should be included in functions.php and not index.php. You can use conditional tags to restrict the code to any page you want whether its the homepage or any other page where you want.
Editorial Staff
This is just for specific areas… But yes, it can be customized and placed in functions.php
Administrateur
Thomas Scholz
Don’t use strlen(). Use mb_strlen() or strlen(utf8_decode($str)) or you risk to truncate the string inside of a multi-byte character. The same applies to mb_substr().
Oh, and an ellipsis is one character: …
snipsley
Thanks!! mb_strlen() a mb_substr solved my encoding problem. I’ve been looking for this for hours!
Lena Backstedt
BIG tnx!
mb_strlen() also seems to work for the swedish language (so far I can see)