Limiter le nombre de caractère dans le titre d’un l’article

Cette fonction va vous permettre de limité le nombre de caractère dans les titres de vos articles, par exemple : pour mieux présenter une page d’accueil qui contient plusieurs blocs d’articles différent.

Ajouter le code ci-dessous dans votre fichier function.php de votre thème :


 

<?php// Limiter le nombre de caractère dans le titre d'un l'article

function shortened_title() {

$original_title = get_the_title();

$title = html_entity_decode($original_title, ENT_QUOTES, "UTF-8");

// indiquer le nombre de caratère

$limit = "55";

// fin du titre couper

$ending="...";

if(strlen($title) >= ($limit+3)) {

$title = substr($title, 0, $limit) . $ending; }

echo $title;

}

?>

Puis remplacer the_title(); par :

<?php shortened_title(); ?>

Deuxième méthode : limité le nombre de mots dans le titre

Dans cette deuxième méthode  je vais me servir de la fonction get_the_title de WordPress et de la fonction count en  php pour comptabiliser le nombre de mots.

Ajouter le code suivant dans le fichier function.php de votre thème WordPress :

function new_title($after = '', $length) {

   $shtitle = explode(' ', get_the_title(), $length);

   if (count($shtitle)>=$length) {

       array_pop($shtitle);

       $shtitle = implode(" ",$shtitle). $after;

   } else {

       $shtitle = implode(" ",$shtitle);

   }

       return $shtitle;

}

Puis remplacer the_title par cette ligne ci-dessous en indiquant le nombre de mots que vous voulez dans les titres de vos articles les (…) compte pour 1 mot.

<?php echo new_title('...', 5); ?>
0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest

8 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Bobby
Bobby
12 années il y a

Je croyais que c’était un tuto déjà existant mais en fait tu viens de le faire!
Un grand merci Fred! 😀

Nico Web
12 années il y a

Merci pour ce tuto!
Je me demandais juste comment limiter le nombre de caractère dans le titre d’un l’article sans couper les mots?
Si quelqu’un a une idée ….
Cela me dépannerais bien 😉

j’avais penser à utiliser quelque chose avec cette fonction :


if (str_word_count($title) &gt;= 10 )

Mais comment l’utilisé?

Fred
Fred
Répondre à  Nico Web
12 années il y a

Bonjour Nico,
Pour répondre a votre question j’ai mis à jour l’article et j’ai utiliser la fonction count et get_the_title , j’espère avoir pu vous dépanné la dessus ;).

Bruno
Bruno
12 années il y a

Super tuto, qui simplifie la vie 😉 juste un petit soucis, les accents apparaissent en caractères spéciaux : d�… ????

Adrien
12 années il y a

Bonjour à tous,

Cela vous parait surement évident, mais une fois le code copié dans le fichier « fonctions.php », il faut remplacer la variable the_title() par la ligne donnée.

J’ai trouvé la variable the_title()dans mon fichier de thème 2columnssidebar.php, mais ça n’a aucun effet.

Après j’utilise une fonction de mon thème disposant deux articles par ligne, c’est pour cela que mes titres sont coupés et j’aurais souhaité avoir la main sur leur longueur.

Bref si vous pouvez m’aider c’est magnifique !

steflp
9 années il y a

MErci utile surtout ici ou les titres sont vraiment long !!!

http://silorientmetaitconte.net/