Modifier le résumé des articles de WordPress (the_excerpt)
WordPress permet d'afficher un extrait des articles dans ses listings (catégories, tags...). Lorsqu'on liste une série d'articles, il est effectivement plus judicieux d'en n'afficher qu'un extrait, plutôt que l’article entier.
Comment mettre en place le résumé (the_excerpt) de WordPress ?
Aller dans Réglages > Lecture, puis à "Pour chaque article d’un flux, fournir" sélectionner "L'extrait" et enregistrer.
Si le résumé ne s'affiche toujours pas, c'est que votre thème ne le gère pas. Pour modifier ceci, rendez-vous dans Apparence > Editeur et afficher la page qui gère votre boucle (loop.php, index.php ou archive.php par exemple). Là, chercher ceci :
<?php the_content(); ?>
Et remplacer le par :
<?php the_excerpt(); ?>
A noter que si votre thème ne gère pas la boucle de manière centralisée (dans un fichier loop.php par exemple), il vous sera nécessaire de faire cette modification sur toutes les pages listant des articles (index.php, archives.php, search.php...).
Comment utiliser le résumé de WordPress ?
Wordpess va désormais afficher comme résumé les 55 premiers mots de vos articles, en finissant par [...].
Si vous trouvez que le début d'un article n'est pas représentatif de son contenu, vous avez la possibilité d'insérer le texte de votre choix dans le champs Extrait présent sur chaque article en dessous de la fenêtre de saisie de votre article.
A noter que dans tous les cas, les images, liens, sauts de ligne et tout autre marqueur html seront retirés de l'extrait automatiquement.
Comment modifier la longueur de l'extrait ?
Si 55 mots ne vous conviennent pas et que vous désirez ajuster la longueur du excerpt manuellement, il vous suffit d'insérer dans le fichier fonctions.php présent à la racine de votre thème (si ce fichier n'existe pas, créez-le et encadrer ce code de balises php) :
function comogene_excerpt_length($length) { return 40; } add_filter('excerpt_length', 'comogene_excerpt_length');
A noter que 40 est ici le nombre de mots du résumé; à vous d'ajuster cette valeur à votre convenance.
Comment remplacer [...] par Lire la suite... avec un lien ?
Pour remplacer le [...], qui n'est pas très heureux, par une lien textuel "Lire la suite...", voici le code à insérer dans ce même fichier fonctions.php :
function comogene_excerpt($text) { return str_replace(' [...]', '... <a href="'.get_permalink().'">Lire la suite</a>', $text); } add_filter('the_excerpt', 'comogene_excerpt');
Update du 18/08/2013
Attention, depuis la version 3.6 de WordPress, le code précédent ne fonctionne plus, préférez celui-ci :
function comogene_more( $more ) { return '... <a href="'. get_permalink( get_the_ID() ) . '">Lire la suite...</a>'; } add_filter('excerpt_more', 'comogene_more');
A noter que c'est le code utilisé sur comogène; libre à vous d'insérer un saut de ligne ou d'agrémenter ce lien d'une class css ou d'un div par exemple.
FERREIRA Carlos
22 janvier 2014
Salut
Merci pour cet article.
J'utilise le thème Responsive Pro sur l'un de mes sites et je galère pour pouvoir afficher une miniature dans les extraits d'articles comme tu l'as fait pour ton blog. C'est exactement ce que je voudrai.
J'ai tout essayé: Image à la une, divers Plugins mais je n'arrive pas obtenir que je veux.
Aurais-tu une petite idée?
D'avance merci
Laurent
22 janvier 2014
Bonjour Carlos,
pour afficher l'image à la une d'un article, il suffit d'insérer ce code dans ta loop, à l'endroit où tu souhaites qu'elle s'affiche :
Pour plus de détail sur cette fonction, voir the_post_thumbnail() dans le codex
FERREIRA Carlos
22 janvier 2014
Merci Laurent pour ta réponse.
En fait, ce code figure déjà dans le thème.
Ce que j'aurai voulu, c'est, à l'instar de ton article http://comogene.com/tips-wordpress/variable-globale-page-theme-wordpress/, que le thumbnail apparaisse uniquement dans les extraits mais pas dans le post.
C'est peut-être un peu compliqué mais je m'arrache les cheveux depuis 2 jours sans succès.
merci de ton aide
Laurent
22 janvier 2014
Ah, alors si la miniature s'affiche aussi dans le détail d'un post, c'est que ce code est également présent dans le fichier single.php de ton template. Il te suffit de le retirer pour ne pas que la miniature s'y affiche.
Carlos
22 janvier 2014
Malheureusement le fichier single.php ne contient pas ce code. Plus j'avance et plus je me dis que l'utilisation de ce thème n'est pas très heureuse finalement.
Merci de ton aide en tout cas.
Carlos
Luc
11 mai 2014
Bonjour,
J'utilise le thème twentyfourteen. je souhaite n'afficher qu'une partie des article (extrait) via la fonction the_exerp mais suivant ton tuto, je n'y suis pas parvenu. Je ne trouve nulle part la fonction the_content à remplacer. J'ai commencé par choisir afficher les extrait dans réglage/lecture mais rien n'y fait.
Une soluce ?
Merci
Laurent
12 mai 2014
Bonjour Luc,
sur le thème twentyfourteen, les boucles sont dans les fichiers "content...". La boucle principale est dans le fichier content.php, dans lequel tu trouveras "the_content" presque à la fin.
Luc
12 mai 2014
Bonjour Laurent, Merci pour ta réponse rapide et correcte de surcroît ! La modification m'a donné le résultat escompté.
Un petit plus que j'aimerais serait d'avoir un lien "continuer, poursuivre" ou un truc du genre en lieu et place des ... Est-ce possible ?
Cordialement.
Laurent
12 mai 2014
Super, et oui c'est possible, il te suffit de suivre le dernier point de mon article, en tenant compte de l'update du 18/08/13, et en remplaçant le texte "Lire la suite..." par celui qui te convient.
Luc
12 mai 2014
Ca marche nickel ! Un grand merci.
Faire attention quand on recopie le texte dans son fichier fonction.php de virer les espaces insécables qui peuvent s'y glisser.
Cordialement.