Afficher le lien de l’article dans l’extrait sous WordPress

La page d’accueil de votre site WordPress affiche par défaut les derniers articles avec dans 99% des cas un extrait de quelques lignes. Or, il se trouve que bien souvent, seul le titre permet d’accéder au contenu complet… ce qui est loin d’être évident pour la majorité des internautes qui comprendront bien plus facilement si on ajoute un lien en fin d’extrait et ce, de façon automatique.

Connectez-vous sur votre serveur FTP à l’aide de votre client favori – FileZilla, Transmit, etc., puis éditez le fichier functions.php présent dans le dossier de votre thème sous /wp-content/themes/NOM_DU_THEME/

Collez ces lignes de code entre les balises PHP :

function extrait_la_suite($more) {
global $post;
return ' <a href="'. get_permalink() . '">' . __( 'Read more...', 'textdomain' ) . '</a>';
}
add_filter('excerpt_more', 'extrait_la_suite');

Dans un souci d’internationalisation, le texte ‘Lire la suite’ ou ‘En savoir plus’ est en anglais dans le code. Vous devez le laisser dans la langue de Shakespeare puis indiquez le textdomain correspondant à votre thème pour procéder ensuite à la traduction française via Poedit.

Si vous n’y parvenez pas pour des raisons techniques et que vous n’avez aucun intérêt à disposer d’une version traduisible, indiquez directement le texte en français… personne n’en saura rien.

Pour aller plus loin, vous pouvez indiquer une classe CSS pour personnaliser l’apparence du lien, soit un code PHP qui ressemblera à ça :

function extrait_la_suite($more) {
global $post;
return ' <a class="readmore" href="'. get_permalink() . '">' . __( 'Read more...', 'textdomain' ) . '</a>';
}
add_filter('excerpt_more', 'extrait_la_suite');

Il vous faudra ajouter la propriété .readmore dans votre feuille de styles CSS pour indiquer les propriétés souhaitées.

Pour en savoir plus sur la gestion des extraits sous WordPress, reportez au tutoriel sur la définition d’une taille d’extrait pour WordPress.

Crédits photo : smiteme

13 commentaires

  1. Lionel

    Dans tous les themes que j’ai utilisés il y avait toujours le read more par défaut, je croyais même que c’était de base dans wordpress

  2. Rémi T.

    Autant pour moi, mon commentaire contenait du HTML.

    il y a une balise fermente après le read more…, mais je ne vois pas la balise ouvrante. Est-ce normal ? Etait-elle déclarée avant dans le code ?

  3. morsimas

    j’ai un thème payant qui est Sahifa et je veux l’explorer pour le rendre personnel.
    J’ai installé WP en Français V 3.5.1 et ensuite j’ai installé le thème (qui est en Anglais) mais bizarrement (ou peut être pas) tous ce qui est dans WP est en Français, c’est à dire que « Read more » est « Lire la suite ».

    Je recherche dans le code et dans la base et je ne retrouve pas de trace de « Lire la suite » et c’est ce que je ne comprend pas

    Pour le « Read More » j’ai trouvé qu’on peut mettre ce qu’on veut dans le fichier loop.php mais je veux bien comprendre comment ça marche

    Merci pour votre aide.

  4. Jimpee

    Voilà enfin une explication claire sur le sujet ! ce code fat disparaître le […] de la fin de l’extrait (thème twentythirteen).
    Je l’ai remis en remplacant ‘read more’ par ‘[…] lire la suite’ , il y a-t-il une solution plus naturelle ?

Laisser un commentaire