Définir une longueur d’extrait personnalisée des articles sous WordPress

La taille des extraits de vos articles peut être ajustée en fonction de vos besoins, de façon automatique via un plugin ou manuellement via le functions.php.

Avant-propos

Par défaut, WordPress affiche un extrait de 55 mots sur la page d’accueil. Ce nombre de mots peut donc s’ajuster selon vos besoins via un plugin ou une intervention directe dans le code du thème.

Un point essentiel à retenir toutefois ! Votre thème doit disposer de la fonction <?php the_excerpt(); ?> pour afficher ce fameux extrait. Cette commande PHP appelle en premier lieu la zone d’extrait – celle que vous ne devez pas remplir, ou les 55 premiers mots par défaut.

#1 – Solution manuelle via le functions.php

Avant de commencer, il est important de savoir que cette première méthode ne fonctionnera pas si vous avez déjà saisi du texte dans la zone Extrait lors de la rédaction de vos articles. Paradoxalement, l’extrait n’est pas créée à partir de cette zone de texte mais bien à partir des premières lignes du corps de saisie principal.

Il faut donc disposer de zones d’extraits vides pour que cette technique fonctionne… sauf si vous ajoutez des lignes de code supplémentaire (cf. ci-après).

Technique appliquée aux extraits standards

Dans le menu Apparence de votre administration WordPress, ouvrez l’item Editeur.

Pour plus de facilités, je vous recommande d’utiliser un éditeur tel que Coda sur MacOS X ou Notepad++ sous Windows.

Cliquez donc sur le fichier functions.php correspondant au thème actuellement actif sur votre site WordPress.

Ajoutez maintenant les lignes de code suivante :

function new_excerpt_length($length) {
return 10;
}
add_filter('excerpt_length', 'new_excerpt_length');

Modifiez la valeur 10 en fonction de vos besoins. Cette valeur correspond au nombre de mots qui composeront l’extrait.

Pour valider le tout, n’oubliez pas de sauvegarder le fichier. WordPress affichera alors des points de suspension dans l’extrait.

Technique appliquée à la zone d’extrait

Ajoutez ces lignes dans le functions.php pour appliquer une longueur spécifique à toutes les zones d’extrait :

function wp_trim_all_excerpt($text) { // Creates an excerpt if needed; and shortens the manual excerpt as well
global $post;
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
}
$text = strip_shortcodes( $text ); // optional
$text = strip_tags($text);
$excerpt_length = apply_filters('excerpt_length', 55);
$excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words)> $excerpt_length) {
array_pop($words);
$text = implode(' ', $words);
$text = $text . $excerpt_more;
} else {
$text = implode(' ', $words);
}
return $text;
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'wp_trim_all_excerpt');

La longueur par défaut est définie à 55, valeur que vous pouvez changer pour le nombre de mots de votre choix.

Cette méthode complémentaire est l’œuvre de alchymyth.

#2 – Solution automatique via les plugins

Je vous conseille d’installer l’extension Advanced Excerpt depuis votre administration WordPress.

Advanced Excerpt

Plugin de gestion de extraits de WordPress.

Taille : 13,7 KiB  •  Date : 21 septembre 2010 •  Hits : 4 287

Une traduction française peut être téléchargée ici-même :

Advanced Excerpt, traduction française

Traduction française du plugin Advanced Excerpt pour gérer la taille des extraits sous WordPress.

Taille : 2,0 KiB  •  Date : 21 septembre 2010 •  Hits : 4 594

Pour activer la traduction, il suffit de coller les fichiers contenus dans l’archive ZIP dans le dossier /wp-content/plugins/advanced-excerpt/

Pour configurer le plugin, rendez-vous dans le menu Réglages puis Excerpt.

Capture d'écran - Paramètres du plugin Advanced Excerpt
Tout pour paramétrer vos extraits personnalisés

Parmi les fonctionnalités intéressantes, on retiendra :

  • Le choix de la balise Lire la suite ou Read More ;
  • La possibilité d’enlever automatiquement les shortcodes ;
  • La capacité de générer un extrait y compris si la zone d’extrait est utilisé (cf. Avant-propos du tutoriel) ;

La gestion des extraits sous WordPress n’aura plus de secrets pour vous… du moins je l’espère !

Crédits photo : Yan Basque

115 commentaires

  1. Manuela

    Bonjour et merci pour ce tuto que je cherchais depuis plusieurs jours…
    Mais visiblement je ne suis pas douée car il ne fonctionne pas chez moi !

    J’ai installé et activé le pluggin, mais mes articles étaient toujours en taille réelle.

    Ensuite, j’ai relu et constaté qu’il fallait ajouter une ligne de code dans le fichier functions.php :

    Chose faite via Apparence / Editeur.

    Résultat ?
    Mes articles sont toujours aussi longs.
    Mais en plus en haut à gauche du blog (ainsi que dans la plateforme de management) j’ai le lien Facebook que j’ai intégré en fin d’article…
    Et là je ne comprends pas du tout pourquoi ?

    Pouvez-vous me guider ?
    Où dois-je insérer le fameux code dans le fichier functions.php ?
    Tout à la fin ?

    Deuxième chose, j’aimerai que mes articles soient tous présentés au format réduit avec un « lire la suite », mais qu’ils aient également un miniature de la première photo.

    Et enfin (plus compliqué j’imagine) que les extraits soient entourés d’un cadre fin et que la date soit intégrée à une bulle en haut à droite de ce fameux cadre…

    Pour info, mon thème ne dispose pas de fichier single.php…

    Un grand GRAND merci pour votre aide précieuse !!!!

    1. Aurélien Denis auteur de l’article

      Tout d’abord, que ton thème ne dispose pas d’un fichier single.php je trouve ça très curieux… je te conseille de changer !

      Pour le troisième aspect axé personnalisation de l’affichage, ça c’est du HTML/CSS et n’a donc rien à voir avec un plugin ou autre. Il faut donc s’y connaître un minimum, utiliser le forum officiel de WordPress Francophone (ou un autre relatif au design, par exemple), ou faire appel à mes services.

      Pour ce qui est de la gestion des extraits, soit on utilise le plugin présenté dans le tutoriel, soit on passe par le code… mais pas les 2 !

      Pour coller le bout de code, tu peux le mettre en début ou fin de fichier. Pour être sûr que cela fonctionne sur tous les thèmes, mets-le au début toutefois – la vidéo devrait t’y aider.

      Sinon, dans ta situation, je te conseille d’utiliser le plugin pour disposer d’options simples à modifier.

      Enfin, pour que les extraits fonctionnent, ton thème doit disposer de la fonction <?php the_excerpt(); > – généralement présente dans le fichier home.php ou index.php.

      Ce qui semble être le cas vu que tu les vois…

  2. Manuela

    Merci beaucoup Aurélien pour ta réponse rapide !
    Malheureusement ça ne m’aide pas beaucoup…

    Dans mes catégories et archives, l’extrait est nickel : pas d’interlignes, pas de photos prises dans le corps de l’article…

    Quand je suis ton tuto, les articles de la page d’accueil ne changent toujours pas d’allure (ils restent toujours longs) et la mise en forme de mes archives et catégories est dégueu…

    Voilà le code que j’ai utilisé pour mes archives et catégories :

    Est-ce que je peux mettre le même dans mon index.php pour les articles ?
    Si oui, quel nom je mets à la place de is_category : is_post ?

    Un grand merci à toi !!!

    1. Aurélien Denis auteur de l’article

      Malheureusement, ton code n’est pas passé. Comme spécifié au-dessus du champ de commentaire, il faut convertir les éléments en HTML… je sais ce n’est pas simple !

      Mais ton problème est assez complexe car directement lié à ton thème. Je ne vais donc pas faire du dépannage au cas par cas via les commentaires.

      Par contre, je t’invite à aller poster un message sur le forum officiel de WordPress Francophone. Je tenterais d’y répondre !

  3. Annie

    Mon problème est un peu hors sujet, mais j’aimerais y trouver une solution simple :
    j’ai un tas de galeries photos (+1500 photos et 66 galeries) de mes voyages (nextgallery) je m’applique à écrire des légendes pour chaque photo pour les recherches… je ne sais si cela a un effet ; d’autre part j’ai une extension YARPP de billets relatifs ; de plus je n’ai pas du tout le courage de faire un laius sur ces pages de galeries, si bien que s’affiche dans les infos de google ces « billets relatifs » hors sujet donc pour chaque galerie… néanmoins pas de description courte c’est déjà ça.

    une solution ? merci.

    1. Aurélien Denis auteur de l’article

      C’est toujours bien renseigner les différents champs relatifs aux images car cela améliore le référencement mais aussi les recherches.

      Par contre, je ne comprends pas bien le problème. L’objectif serait de masquer de Google les articles relatifs ?

  4. nico

    Bonjour,

    Comme vous traitez des extraits, j’ai un problème que je n’arrive pas à résoudre. Dans le formulaire de création d’un article, je voudrais mettre le champs « extrait » avant l’éditeur de l’article, juste sous le champ « titre ».

    Connaissez vous un plugin ou une modif de code permettant de faire cela ?

    Merci

    1. Aurélien Denis auteur de l’article

      Ton thème doit disposer de la fonction < ?php the_excerpt(); > – généralement présente dans le fichier home.php ou index.php.

      Est-ce le cas ?

      Si oui, peut être qu’il existe des paramètres définis dans via un panneau d’administration ou directement dans le code source…

      1. Nathanael

        Bonsoir et tout d’abord de ta réactivité.
        J’ai fouillé le fichier Main Index functions mais et n’ai rien vu d’approchant.

        Je dois avouer que j’ai la majorité des plugins qui ne fonctionnent pas…donc je en galère pas mal. Et le fait de ne pas avoir d’extrait personnalisé me fait perdre pas mal de pages vues.

        Pour info, j’utilise le thème Frugal d’Eric Hamm.

        Ci-après une copie du fichier main index, si ça peut aider… J’avoue je sèche pas mal depuis environ un mois.

        <a href=" » rel= »bookmark »>

        by on in

        <a href="#comments »>

        Tags:

  5. Marc-A.

    Tout d’abord, bonjour Aurélien et merci pour ton blog.

    Bonjour Manuela et Nathanael,
    J’ai eu exactement le même problème que vous et, après avoir tâtonné des heures et des heures, j’ai trouvé la ligne qu’il faut modifier:

    – aller dans l’éditeur de style et ouvrir loop.php

    – trouver la ligne suivante:

    – puis dans les lignes de commande qui suivent, trouver les lignes suivantes:

    <?php the_content( __( 'Continue reading →’, ‘twentyten’ ) ); ?>
     » . __( ‘Pages:’, ‘twentyten’ ), ‘after’ =>  » ) ); ?>

    – enfin, modifier <?php the_content( par <?php the_excerpt(

    Ca devrait marcher!

    Bon dimanche,

    Marc-A.

  6. pascal

    Bonjour, belle base d’information ici et tres bon tuto. merci beaucoup Aurélien. Je suis en train de construire mon site. Au niveau des extraits j’ai mis le code ci dessus et pas de souci. J’ai deux questions:

    – Les extraits manuels ne fonctionnent, je pensais qu’il supplantait l’extrait automatique. Comment les activés?

    – La taille de mes pavé articles est différente entre l’article a la une et les suivants dans mon theme. Est il possible de géré des extraits de tailles différentes en fonction de cela?

    Merci Merci et bonne journée a tous

  7. pascal

    Bon eh bien j’ai trouvé mes réponse tout seul. En installant excerpt editor, tout s’est passé tranquillement. Merci

  8. Monsieur Putois

    Bonjour,

    Ce tuto est vraiment très bien fait et offre des possibilités nouvelles.

    Cependant, j’ai eu beau faire des recherches, quelque chose m’échappe.
    J’ai un thème en grille, le premier article est trois fois plus grand que les autres. le problème est que l’extrait a le même nombre de mots que les autres…

    Donc question. Comment établir différentes tailles d’extraits pour la même page ? Juste deux, dans mon cas. Et ce, en fonction de la classe de l’article, en l’occurence : box featured et box.

    Merci d’avance si tu as la réponse.

    1. Aurélien Denis auteur de l’article

      Tu dois pouvoir dupliquer la fonction de l’article en indiquant une autre valeur de taille d’extrait.

      Merci de trouver ce tutoriel intéressant !

  9. Albert

    Bonjour,

    Après avoir collé le code appliqué aux extraits standards dans le fichier functions.php dans le thème Suffusion j’ai le message d’erreur suivant :
    Parse error: syntax error, unexpected ‘<' in /homez.402/wikifree/www/WordPress/wp-content/themes/suffusion/functions.php on line 83
    Accès complètement planté…

    1. Aurélien Denis auteur de l’article

      Sans doute une erreur de balises comme indiqué. Dans ce cas de figure, il faut modifier le fichier en passant par le client FTP (FileZilla ou autre) et éditions functions.php présent dans /wp-content/themes/NOM_DU_THEME/functions.php

  10. billboc

    Salut et encore merci pour ton travail sur WP !

    je veux imposé l’extrait pour tous les articles postés par les auteurs de mon blog (par defaut) et reglé le nombre de lettres dans cet extrait

    voici le code que j’ai mise en place dans functions.php

    function new_excerpt_length($length) { return 55; } add_filter(‘excerpt_length’, ‘new_excerpt_length’);

    function new_excerpt_more($more) {
    global $post;
    return ‘ (…)ID) . ‘ »>’ . ‘Lire la suite’ . ‘‘;
    }
    add_filter(‘excerpt_more’, ‘new_excerpt_more’);

    Cela impose bine la creation ‘un extrait pour tous les articles mais je n’arrive pas à choisir le nombre de lettre. car quand je change le chiffre { return 55; }. cela n’influence pas la tialle des extraits…

    aurais tu une idée de mon erreur ?

    merci
    ++

    Billboc

    1. Aurélien Denis auteur de l’article

      C’est avec grand plaisir que je contribue à promouvoir WordPress (si peu connu en France d’ailleurs) !

      Pour ton problème, je n’ai pas d’idées. En principe, si tu appliques l’un ou l’autre des bouts de code cela fonctionne (j’avais testé cela plusieurs au moment où j’avais écrit ce tutoriel).

      Sinon, il reste la solution plugin !

      1. billboc

        j’ai deja 20 plugin sur mon blog alors je freine au maximum l’ajout supplémentaire de plugin… merci quand même !
        Au plaisir de te lire !

  11. tonton phil

    bonjour,
    tous nouveau avec wordpress, je découvre avec plaisir votre site vraiment très instructif et aux explications claires.
    J’utilise wordpress 3.0.4 et le thème par défaut twenty ten 1.1 et je cherche une solution pour afficher en page d’accueil un résumé de mes articles avec une image tout comme le votre !!!
    Si vous pouviez me donner une piste ?
    Merci et bonne continuation

    1. Aurélien Denis auteur de l’article

      Merci des compliments !

      Pour répondre à la question, il faut :

      Soit trouver un thème qui adopte cette apparence ;
      Soit coder le tout en utilisant le codex de WordPress (c’est le cas de WordPress Channel) ;

      Si vous connaissez le langage PHP et WordPress, cela se résume à get_title, get_thumbnail et the_excerpt…

      1. tonton phil

        Bon est bien j’ai installé un thème genre magazine.
        encore merci pour vos tutoriels et bonne continuation.

  12. Co_oD

    Bonjour

    Merci pour ce tuto bien fait.
    Je viens avec un question à s’arracher les cheveux… Si quelqu’un peut m’aider…

    Est-il possible de faire « sauter » l’excerpt pour une catégorie d’article en particulier?

    Je vous remercie

  13. anthony

    bonjour , vos tutos sont excellents, vraiment très utiles et bien expliquer!
    cependant jai un problème , jai limiter mes extraits à 21 mots via mon thème , mais souvent certains mots sont plus longs et donc des fois il y a 4 lignes, mais defois 5 lignes ce qui décale tout et dc tout n’est pas aligné. et c’est la même chose pour mes titres car defois ils sont plus long que d’autres et donc décale encore plus mes node based(tout ce quil y a en dessous – permalink et nombre de vue).
    en gros j’aimerais aligner le permalink « voir la video » et le nombre de vue ?
    mais je ne sais pas comment faire ?
    ps: mon thème est le thème arras
    merci de votre aide precieuse

  14. pierre

    Salut tous
    bien vos tuto c’est top ca aide vraiment sauf que…
    « Par défaut, WordPress affiche un extrait de 55 mots sur la page d’accueil.  »
    C’est FAUX !
    En effet depuis la version 3.1 la fonction excerpt est inactive par défaut !
    Vous même vous savez à quel point les versions de WP sont différentes à chaque sortie donc veillez à chaque tuto de bien noter la VERSION de WP utilisée sinon ça porte à confusion…

    Sinon bravo et merci pour tout ce travail ! :))

    1. Aurélien Denis auteur de l’article

      Merci de l’info. La notion d’extrait n’a jamais été claire je trouve.

      Pour les versions, j’essaie de taguer les articles mais ce n’est pas simple d’autant plus que je ne l’ai pas fait pour tous les articles…

  15. Simon

    Bonjour, ma question est toute bête mais importante. J’ai réussi à créer des extraits des articles grâce à la ligne de code à remplacer sur le thème Twenty Eleven. Ensuite j’ai ajouté le pluggin pour gérer la longueur de l’extrait. Tout marche très bien à part une seule chose : j’utilise aussi SubHeading pour avoir des Sous-Titres d’une certaine taille et d’une certaine police, mais ce pluggin semble ne pas s’appliquer au Sous-Titre de l’extrait, seulement de l’article entier. Comment faire pour modifier la police du sous-titre de l’extrait ?
    Merci encore.

  16. britain

    peut-on faire que dans une liste d’article,seulement le 1er article avec un extrait et les autres juste le titre?
    merci

    1. Aurélien Denis auteur de l’article

      Bien sûr ! Plusieurs méthodes dont notamment avec un compteur PHP (le premier billet avec extrait et les autres avec le titre).

      Regardes dans le Twenty Eleven, c’est cela que l’on obtient sur la page d’accueil de WordPress Channel.

      1. brian

        oui j’ai lu qu’on pouvait le faire avec un compteur mais je n’ai pas trouvé d’exemple de code.Faut-il mettre un numéro entre les parenthèses dans le code the_excerpt ?

          1. britain

            désolé,faute de frappe « je vais voir » et non « je fais voir ».

            dur pour un non codeur doublé d’un mec qui ne parle pas anglais.
            c’est la partie?
            // Display our recent posts, showing full content for the very latest, ignoring Aside posts.

            cela fonctionne avec query_post ?

            merci désolé de vous déranger.

  17. Raoul

    Ce tuto m’a été bien utile.
    J’ai adopté l’option du code à insérer directement dans le fichier function.php.
    Merci !

  18. Johnny

    Salut Aurélien !

    Déjà un grand merci pour ce billet !

    Ensuite j’ai 2 soucis avec mon site:

    J’ai un résumé de mes articles qui apparait sous l’image et qui chevauche l’article (autant te dire que cest moche moche moche). Alors le problème c’est que j’ignore si ca vient du plug in que j’ai installé ou non. Du coup je l’ai désactivé mais j’ai toujours ce résumé, je ne sais pas du tout d’où il vient.

    Tu pourrais me renseigner????

    un grand merci !

  19. Fundance

    Bonjour,

    J’ai installé le plugin advanced_excerpt qui fonctionne
    Ma question est la suivante :
    – j’ai en extrait un texte A avec à la fin « suite »
    – lorsque l’on clique sur « suite » on a tout d’abord l’extrait A puis l’article entier, ce qui fait un peu doublon.
    Est-ce normal d’avoir donc sur la page extrait + texte entier ?
    Et y a-t-il un moyen de n’avoir sur la page que l’article entier sans une reprise en haut de l’extrait ?
    Merci

    1. Aurélien Denis auteur de l’article

      Il te faut éditer ton thème pour n’afficher que le contenu dans une page d’article (single.php) et non pas l’extrait + le contenu. D’ordinaire, on utilise la balise more dans le corps de texte pour créer l’extrait (et on se passe donc de la zone dénommée ainsi).

      1. darknote

        Bonjour,
        je n’utilise jamais la balise « more », je met toujours ma page en mode « extrait » dans le réglage de WordPress (Réglages puis Lecture) et dans le fichier the_excerpt à la place de the_content.
        !Il aurait fallu l’adresse de votre site Fundance, pour voir si on tombe bien sur article seul ou sur catégorie.

  20. darknote

    Bonjour,
    pourquoi la balise more ne fonctionne pas pour les pages, on a pourtant l’icône dans l’éditeur visuel.
    Obliger d’utiliser

  21. Olivier636

    Bonjour,

    Je suis sous WP 3.4.2 avec le thème de base mais aucun ne marche… d’ailleurs le thème n’a pas de base le champ Extrait, plus même à mon avis… donc normal…

    J’ai voulu trouver où on peut indiquer le nombre de mots de base, mais impossible de trouver… de plus la mise en forme claque si je mets the_excerpt dans content.php (en forçant donc).

    Une idée ?

    Merci

    1. Aurélien Denis auteur de l’article

      Le champ d’extrait est présent dans les articles. Il faut probablement l’afficher via le menu Options de l’écran.

      Pour le reste du commentaire, je n’ai pas tout saisi mais je peux garantir que les techniques évoquées fonctionnent notamment la première que j’ai encore utilisée pas plus tard que cet après-midi.

      1. Olivier636

        Ah yes
        Comme WP est une première pour moi je n’avais pas vu cette section !
        Merci encore

        En fait dans « content.php », on peut changer le code et mettre the_excerpt à la place de the_content et ça force en extrait du coup.
        Mais bon là plus besoin de faire cette manip, je prends la votre

  22. Olivier636

    Après revérification il semblerait qu’avec la version 3.4.2 de WP, il n’y ait plus de limitation du nombre de caractères !

    Dans un article si on rempli l’extrait de 10 ou 100 ou + de caractères, tout s’affiche ! La limite est en fait votre extrait même.

    Par contre j’ai du changer dans le fichier Content.php à la ligne (40) dans le DIV ‘entry-content’, mettre the_excerpt à la place de the_content.

  23. Clem12

    Bonjour,
    J’ai installé le plugin advanced excerpt mais il n’y a toujours pas d’extrait et les articles restent longs sur la page d’accueil. De plus, dans mon menu apparence/éditeur, il n’y a pas de catégorie content.php. Je ne peux donc pas modifier le code.
    Peux tu m’aider?
    Merci par avance et bravo pour ce blog fourni et complet!

  24. khalid

    Bonjour,

    Je tiens a vous féliciter pour votre blog et je vous en courage a continuer sur cette voie.

    Moi, j’ai un autre problème que voici:

    J’aimerai bien que mes pages ne dépassent pas une certaines longueur (la longueur du menu latéral), même si je tape un texte très long (j’aimerai bien que l’article se divise en plusieurs page automatiquement).

    Merci.

    1. Aurélien Denis auteur de l’article

      Merci d’apprécier le projet WordPress Channel !

      WordPress intègre de base (mais c’est méconnu) la gestion multi-pages. Tout ce qu’il faut savoir à ce sujet (comment l’utiliser, la prendre en charge dans le thèmes et les implications que cela a) est expliqué dans Styling Page-Links sur le codex.

  25. khalid

    Merci pour votre réponse,

    Dommage car mon thème ne supporte pas la balise : , cela deforme l’apparence des pages et aussi celle du menu lateral.
    Pour les autres propositions dans l’article cité, c’est trop compliquer pour moi, alors je laisse tomber jusqu’au jour ou il y aura un widgets qui m’aidera a le faire.

    Merci encore et surtout continuez comme ca :o)

  26. mamandunet

    Bonjour,
    Merci pour cet article et pour toute l’aide que vous nous apportez.
    J’ai testé 2 de vos solutions, la 1ère en mettant le petit code sur la page function.php et la dernière avec le pluggin, malheureusement aucune de vos solutions ne fonctionne pour ma thème (zeestyle).
    Auriez-vous une idée ?
    Par avance merci pour votre aide.

    1. Aurélien Denis auteur de l’article

      En fait ça fonctionne obligatoirement mais le principe est plutôt complexe à mettre en oeuvre techniquement. D’une façon logique, on ne peut pas rapprocher que la gestion des extraits soit compliquée sous WordPress si l’on a bien saisi les tenants et les aboutissants de leur utilité… bref, tout ça pour dire que cela dépend du thème.

      La solution plugin ne fonctionne pas ?

      1. mamandunet

        Non elle ne fonctionne pas et j’ai enfin trouvé la réponse.
        En fait, mon thème est assez complexe. la fonction the_excerpt n’existait pas dans index.php. En fait, j’ai remplacé la fonction the_content par the_excerpt dans le fichier loop.php
        En fois ceci trouvé et remplacé le pluggn fonctionnait mais je n’en avait plus besoin car tout était défini dans function.php (ce qui est assez bizarre d’ailleurs !). Du coup je n’avais plus qu’à personnaliser le nombre de mot et les … pour que tout soit parfait !!!
        Les thèmes sont tellement différent que c’est assez compliqué à gérer !!!
        Merci pour ta réponse rapide et bonne continuation !

  27. felnalar

    Bonjour,

    Je suis tombé sur ce billet en faisant une recherche google. Mon problème est que j’ai des parenthèses autour de « lire la suite.. » Je ne comprend pas où on les enlèvent… je suis allez dans : fonction.php / formatting.php (cf:codex) pour voir tous ce qui est lié à « excerp » mais je ne trouve pas… Je vous remercie d’avance si vous trouvez la solution à mon problème.

    (j’utilise : wordpress : 3.5–fr_FR et j’ai modifié Twenty Ten)

  28. Amélie

    Bonjour,
    Je débute un peu dans wordpress. Sur ma page d’accueil j’ai plusieurs articles. Je souhaiterais que le premier ai plus de caractères dans l’extrait que les autres. C’est à dire que article 1 ai un excerpt de 100 et que article 2 ai un excerpt de 50 (par exemple). Est-ce que cela est possible?
    J’ai essayé vos solutions mais à chaque fois ça me modifie tout.
    Merci par avance pour votre réponse.

    1. Aurélien Denis auteur de l’article

      C’est possible en utilisation la balise more pour créer l’extrait à l’endroit précis que l’on souhaite et disposer d’un extrait sur-mesure à chaque fois. Sinon, en automatique, ça doit pouvoir se faire mais en développant une fonction sur-mesure.

  29. florian

    bonjour, j’ai tout testé mais malheureusement je crois que mon thème a un problème
    J’utilise un theme qui pourtant est assez récent.. j’ai la dernière version de wordpress.
    la fonction cité ci-dessus « excerpt » ce trouve dans /themes/…/lib/fonctions/utility.php

    j’ai une fonction tres complète mais malgré cela rien a faire ! avec mon theme je n’arrive pas a reduire la taille des articles pour les passer en extraits..

    j’ai essayer la méthode manuel, le plugin a installer mais rien a faire là je suis a bout…

    le theme utilisé est « chiron » pour ne pas faire de pub. une idée ?

    Je suis un peut bloqué car j’ai passé presque 1 semaine a modifier le theme pour qu’il colle a mon site prestashop… je ne me vois pas tout refaire..

  30. Jerome

    Merci mamandunet, j’avais le même problème et ne parvenais pas à trouver la réponse depuis quelques jours

  31. Aurore

    Merci pour ce tuto qui m’a bien aidée ! J’ai juste une petite question complémentaire : comment faire pour que le texte affiché dans l’extrait soit bien aligné (justifié) comme dans l’article ?
    Là mes extraits font un peu fouillis et je n’arrive pas à modifier l’alignement du texte (pourtant dans l’article lui-même le texte est bien aligné).
    Merci d’avance pour ton aide !

  32. kevindesousa

    Bonjour, merci pour ce magnifique tuto,
    mais voilai j’ai un petit soucis, je voudrais en faite que la taille de mon extrait depende de si il y a une image a la une ou pas. Car sinon ca fait pas tres beau. Merci Beaucoup d’avance si vous avez une idée, car je marrache les cheveux…

  33. tabouloula

    Bonjour,
    Est ce tu peux me dire comment faire pour afficher les textes en gras dans l’extrait de l’article sur la page loop.php?

    Merci Aurélien

  34. Apodioxe

    Bonjour, existe t’il un code ou quelque chose pour faire en sorte que l’extrait se termine à la fin d’une phrase car chez moi, ça coupe la phrase et c’est pas terrible. Merci

    1. Aurélien Denis auteur de l’article

      Pour éviter les coupures automatiques, il faut utiliser la balise more de WordPress présent sous forme d’icône dans l’éditeur de TinyMCE. Cela permet de créer une délimitation.

      D’ailleurs, il est préférable de l’utiliser pour tous les articles.

  35. womenature

    Bonjour,

    Je ne suis pas très douée. Est-il possible d’utiliser ces méthodes (installation plugin ou function php) avec le thème reedle? En effet, la home présente l’intégralité de chaque article. C’est vraiment pas top pour la lisibilité et la mise en valeur des articles.

    Comment faire…

    Merci d’avance!

  36. womenature

    … En fait, le format « image post » répond absolument à ma demande. Ce serait parfait si ce n’est que de cette manière, un fond noir indésiré (je souhaite du blanc) vient bizarrement s’apposer sur l’extrait de mes articles. Comment puis-je m’en défaire ? Du coup, j’ai mis par le format par défaut…

  37. said

    bonjour Aurélien Denis
    Avant tout je vous remercie pour votre travail. En fait moi je voudrais afficher tout le titre de mes articles sur la page home car mon theme limite le nombre de caractère sur la page d accueil.merci d avance.

      1. said

        merci pour réponse il se trouve que je n ai pas de connaissance en PHP n avez vous pas une solution à me proposez ou même vous donnez la permission d accédez à l éditeur de de mon thème, le fait de ne pas afficher le titre est un handicape pour mon titre.s il vous plait aidez moi.

  38. Arnaud

    Bonjour Aurélien,
    Merci pour ce tuto. De la même manière, est-ce possible de limiter le nombre de caractères du titre renvoyé dans l’extrait ?…
    Je pense à la fonction substr() de PHP comme tu dois t’en douter… mais dans ce cas où aller faire cette modification?… Il me semble qu’en terme d’esthétique notamment lorsque l’on utilise des grilles pour afficher les extraits de post un plugin ou même une fonction au sein de WP pourrait s’avérer tout à fait utile, non?

    1. Aurélien Denis auteur de l’article

      Oui on peut coder une fonction PHP pour limiter les titres mais il faudra modifier le thème pour l’utiliser à la place de the_title();

      Je ne connais pas de méthode permettant de le faire via un hook…

  39. Asa

    Bonjour et merci pour le tuto !
    Chez moi ça fonctionne très bien, mais lorsque je clique sur  » lire la suite » je voudrais afficher l’article dans son intégralité tout en restant sur la page et sans la recharger.
    Est-ce possible avec du CSS seulement ?

    ==> Comment lui dire « si c’est cliqué tu affiches tout  » ? Merci d’avance chef !

  40. Alexandra

    Bonjour,
    J’ai voulu utiliser la premiere option, coller les lignes de code directement dans functions.php. Cela n’avait aucune incidence sur mon blog donc je les ai supprimées, pour pouvoir ensuite installer le plugin.
    Sauf que j’ai plus accès à aucune page de mon blog!!!!!
    Impossible d’avoir accès à l’admin, qui est une page blanche, tout comme thèmes et les autres fonctions.
    Pouvez-vous m’aider svp?
    Un ENORME merci par avance!
    Alexandra

    1. Aurélien Denis auteur de l’article

      Bonjour Alexandra, il vous faut enlever les lignes de code ajoutées dans le fichier en question à l’aide de votre client FTP favori.

  41. Nicoseo

    Bonjour, j’ai un ptit soucis : je souhaiterais avoir, quand je clique dans une catégorie, n’avoir que les extraits des articles présent dans cette même catégorie qui s’affichent au lieu des articles complets.
    J’ai beau chercher je ne trouve pas d’option pour ça.

    Connaissez vous un plugin ou dois je aller chercher la solution dans du code à integrer dans les fonctions de wp ?

    Merci

  42. Sam

    Bonjour Aurélien, j’ai un souci concernant l’apparition des extraits depuis mes deux derniers posts alors que les autres posts sont sous forme extraits standards. Je me demande quels réglages ai-je pu faire par inadvertance pour ne plus voir les extraits sur ma page d’accueil? Aurais-tu une idée ? Merci d’avance

  43. Le Du

    Bonjour, j’aimerais savoir s’il est possible de modifier également la longueur d’extrait d’une légende de photo. En effet, j’utilise la version Virtue et lorsque ma légende est (trop ?) longue, elle est coupée automatiquement. J’ai essayé pas mal de chose, mais je continue à nager…

  44. faithless02000

    Bonjour, la fonction marche à merveille
    Petite question, comment l’adapter pour limiter avec un nombre de caractères et non un nombre de mots ?
    Merci d’avance !

    1. Mélanie

      sur la ligne « Excerpt Length:  » (c’est la première ligne, après le chiffre tu as un menu déroulant, tu choisis word pour mot ou characters

  45. svplim

    Pour apporter ma contribution a cet article interessant, la première solution qui consiste à inserer le code dans le fichier functions.php, ne pas l’inserer comme il est inscrit surtout a la fin de ce fichier.

    Il faut juste le mettre avant le dernier } comme ci-dessous, sauf si votre fichier functions.php est Vide (ce qui est peu probable)

    function new_excerpt_length($length) {
    return 10;
    }
    add_filter(‘excerpt_length’, ‘new_excerpt_length’);

    Cela evitera que votre site soit « BLANC »…

  46. Akro Web

    Bonjour,

    Je souhaiterais par défaut définir une longueur d’extrait pour les articles mais aussi pouvoir sur certains articles mettre la balise more à l’endroit voulu. J’ai fais plusieurs tests mais pour le moment sans succès.
    Je suis sur un thème enfant de twentyfifteen.

    Quelqu’un a une idée pour adapter le code d’Aurélien ?

    Merci

    Bonne journée

  47. sandrinou

    Bonjour Merci pour ce tuto très bien expliqué mais ces manipulations ne fonctionnent pas sur mon blog.
    Je viens d’installer le thème Twenty Thirteen. En cochant la case « Extrait », je n’arrive pas à obtenir seulement l’extrait des articles sur la page d’accueil.
    J’ai donc testé votre solution en rajoutant le code dans le fichier functions.php mais toujours rien. Mes articles s’affichent toujours en entier.
    J’ai la version 4.4 de WordPress. Merci de m’aider par avance, j’en ai vraiment besoin !

  48. sandrinou

    Merci de votre réponse. Non je n’ai pas testé les extensions mentionnées. Toutefois, mon compagnon a su faire afficher les extraits des articles en faisant des modifications dans le code. Si ça vous intéresse, je peux lui demander ce qu’il a fait.

  49. sarahvoyance

    bonjour,Aurélien merci pour ce tuto. Perso, j’ai copier/coller le code, cela n’a pas marché. Donc je l’ai retiré, et je n’ai plus accès à rien. page blanche, du coté du front comme le fichier function.php. je ne peux plus rien changer. Aurais tu une solution? car la c’est un peu la panique ne fait. Merci.

Les commentaires sont fermés.

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX