Par défaut, chaque article de WordPress peut être accompagné d’un extrait facultatif, utile pour ajouter une introduction.
Cependant, comment faire pour en ajouter un second et gérer ainsi du contenu additionnel en lien direct avec votre article ?
Pour info, ce bout de code provient tout droit du forum officiel de WordPress (version anglaise) et l’auteur n’est autre que Justin Tadlock. Par contre, la procédure n’est pas spécifiée et le néophyte aura bien du mal à comprendre la démarche.
Étape n°1 – Modification du fichier functions.php
Pour ajouter un deuxième champ d’extrait, ouvrez votre fichier functions.php à partir du menu Apparence puis Éditeur. Je suppose que vous êtes déjà connecté sur votre administration WordPress.

En fin de fichier, ajoutez les lignes de code suivante :
Libre à vous de traduire certains éléments en français… mais soyez sûr de vos modifications !
Étape n°2 – Définition de l’emplacement de la seconde zone d’extrait
La deuxième étape consiste à modifier à nouveau votre thème pour indiquer où sera inséré ce fameux champ additionnel.
Dans notre exemple, nous supposerons que vous souhaitez l’afficher juste en-dessous de la première zone d’extrait par défaut de WordPress… mais ces lignes de code peuvent être collées là où vous le souhaitez !
Dans l’éditeur de thème, ouvrez donc le fichier single.php puis ajoutez les lignes suivantes après <?php the_excerpt(); ?> ou avant <?php the_content(); ?> dans la situation où vous n’utiliseriez pas le premier extrait.
N’oubliez pas de sauvegarder vos modifications.
Étape n°3 – Vérification avec un article de test

Rendez-vous ensuite dans le module Articles puis faites Ajouter. Remarquez l’apparition d’une deuxième zone d’extrait.
Constatez le bon fonctionnement de cette astuce sur une page d’article en insérant du texte d’exemple.

Du contenu HTML peut être ajouté tout comme dans la zone d’extrait traditionnelle.
Cette zone additionnelle pourra contenir des informations contextuelles et être utilisée comme zone de push auprès de vos visiteurs… intéressant, non ?




Entendu, je vais plancher là-dessus et si je trouve je reviendrai partager ça avec vous !
Autre chose cependant : j’ai suivi toutes les instructions à la lettre, j’ai copié le fichier avec pour seule modification l’ajout de l’ } manquante à la fin… et tout fonctionne (création d’un excerpt, sauvegarde, ajout dans mon template, etc.) sauf qu’il est devenu impossible de sauvegarder la page d’accueil, ou quelque page que ce soit (aucun problème pour sauvegarder les articles par contre). Voici le message d’erreur qui apparaît quand j’essaie de sauvegarder la page d’accueil après installation de ce code :
Notice: Undefined index: my_meta_box_nonce in /Users/marc/Desktop/sites/wordpress/wp-content/themes/nouveaudesign/functions.php on line 105
Warning: Cannot modify header information – headers already sent by (output started at /Users/marc/Desktop/sites/wordpress/wp-content/themes/nouveaudesign/functions.php:105) in /Users/marc/Desktop/sites/wordpress/wp-admin/post.php on line 197
Warning: Cannot modify header information – headers already sent by (output started at /Users/marc/Desktop/sites/wordpress/wp-content/themes/nouveaudesign/functions.php:105) in /Users/marc/Desktop/sites/wordpress/wp-includes/pluggable.php on line 1174
Est-ce que cela vient de ce que mon site est encore en local…?
J’ai passé 8h à chercher… Je n’arrive pas à trouver la cause. J’ai testé mille trucs. Au secours ! Quelqu’un a-t-il la solution ? Pas possible que ça ne soit arrivé qu’à moi !
Bonjour, fantastique tutoriel, merci infiniment !
J’ai une question : est-il possible (dans le back-office) d’insérer ce nouveau champ entre le champ qui sert au titre et le champ qui sert au contenu ?
De manière à avoir (dans le back-office) :
– Champ de titre
– Extrait
– Contenu
Bonjour, on doit pouvoir faire cela en modifiant le hook
add_meta_boxpar un changement de priorité. Le Codex t’en dira certainement plus.Bonjour
C’est super, mais j’ai tenté de l’utiliser, puis ai effacé l’information contenu dans l’excerpt, et maintenant, il est impossible de sauvegarder une information à nouveau dans ce 2 excerpt
Une idée de la ligne de code à modifier ?
Merci d’avance
Une erreur s’affiche, que se passe-t-il précisément ?
J’avais mis un shortcode dans le second excerpt, puis l’ai effacé, et maintenant quoique j’écrive dans le second excertpt, la zone ne sauvegarde pas le contenu. (la zone reste vide)
j’ai changé de thème, pour voir s’il y vait incompatibilité avec d’autres instructions de l page des fonctions, mais c’est pareil.
Genial ! Bravo ! Par contre je recherche a peu pret la m chose mais avec le titre d’un article et un sous titre de cet article qui s’afficherais avant l’extrait…
Bonjour,
Est-ce possible de conditionner l’apparition de ce second bloc de texte en fonction de la categorie des articles ?
Je le pense mais ça me paraît pas simple ici.
Oui mais c’est technique.
Aurélien tu dis dans la vidéo qu’il faut ajouter le script que tu donnes au debut du fichier function.php et tu te contredit dans le texte en disant qu’il faut mettre le script à la fin de function.php ,,,,??,
faut le mettre ou au début ? ou à la fin ? finalement
En fait, il faut l’insérer entre les balises PHP c’est tout. Le mettre au début ou à la fin simplifie la gestion c’est tout. C’est plus facile d’identifier la modification en cas d’erreurs. 😉
Bonjour,
Auriez vous une idée de fonction qui fasse la même chose que ce plugin: http://wordpress.org/extend/plugins/ax-sidebar/?
Merci.
Tu peux le faire en suivant ce tutoriel et en modifiant l’emplacement pour sidebar.php ou ailleurs dans le thème.
SALUT ! Moi j’ai dû ajouter un simple « } » avant le ?> final pour que ça marche IMPECCABLEMENT.
Merci pour ça !
Bonjour,
Je viens déterrer ce très bon article, car j’ai une question ! J’ai fouiné un peu partout et je me demandais si ce « second excerpt », vu qu’il gère le HMTL, le fait il aussi pour les shortcodes ?
Merci
J’aimerai t’aider Laurent, mais je n’ai pas compris ta question…!
En fait c’est tout simple, j’aimerais juste savoir si dans cet excerpt, l’utilisation de shortcodes est supportée.
Mais j’ai trouvé la réponse tout seul.
En fait j’aimerais désormais appliquer cet ajout aux custom post types.
Je pense que oui… essaie de copier le code de l’étape 2 dans le fichier du thème correspondant à ton CPT.
En fait, j’ai fait un tour sur le codex, il suffit juste de remplacer ‘post’ par le slug du CPT et le tour est joué !
J’aurais du y penser !!! 😉
J’ai bien vérifié le code que je colle dans functions.php, mais j’obtiens tout le temps une erreur du type :
Parse error: syntax error, unexpected $end in /homepages/26/d117867942/htdocs/wp-content/themes/labaulebeach/functions.php on line 533
je ne comprends pas
moi aussi j’ai eu ce probleme en fait il manque une acolade a la fin donc dans le code, juste avan le « ?> » tu rajoute « } »
😉
Merci bcp Guillaume ! Ca fonctionne désormais.
Par contre pourquoi ce champ ne prend-il pas en compte les sauts de lignes ?
Parce que le code s’écrit en HTML. Donc il faut rajouter des balises <p> par exemple. 😉
bonjour, j’étais super content car je cherchai sa exactement, mais j’ai un gros problème, depuis que j’ai ajouté la ligne de code à ‘fonction.php’ j’obtiens cette ligne de code à chaque fois que l’on poste un commentaire, que l’on vote, et lorsque moi meme je poste un nouvelle article…
Pourriez vous m’aider SVP ?
pardons voila ligne de code : Warning: Cannot modify header information – headers already sent by (output started at /xxx/xxx/xxx/xxx/www/wp-content/themes/xxx/functions.php:137) in /xxx/xxx/xxx/xxx/www/wp-includes/pluggable.php on line 890
ah ben j’ai plongé sur ce problème toute le journée en en faite c’été les retours à la ligne après le » ?> » à la fin, désolé du dérangement 😀 mais sinon super code !!! 😉
Heureux que tu ait pu trouvé ton erreur et nous faire partager ton retour ici même ! 😎
Mais c’est super balaise, j’en cherchai vraiment. Je dois avouer que Aurélien me rend un grand service.Encore merci.
J’ai l’impression d’un déjà vu 😉
Tu as l’œil ! 🙂