Tout savoir sur WordPress
Tutoriel WordPress

Afficher un lien “Lire la suite” aux extraits

Par défaut, l’extrait d’un article ne contient pas de lien permettant d’accéder à l’article. Découvrez comment ajouter automatiquement un lien “Lire la suite” à la fin des extraits de vos articles.

Les extraits sont en règle générale des mini-descriptions des articles situés sur la page principale de votre site, les pages de catégories et les pages de tags.

Dans cette astuce, nous allons voir comment ajouter automatiquement un lien “Lire la suite” à la fin des extraits de vos articles.

Par défaut, WordPress ajoute ceci […] à la fin de chaque extrait. A l’aide du filtre excerpt_more, on va dire à WordPress de remplacer […] par un lien “Lire la suite”.

Copiez le code ci-dessous dans le fichier functions.php présent à la racine de votre thème :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_filter('excerpt_more', 'gkp_custom_excerpt_more');
function gkp_custom_excerpt_more($more) {
   global $post;
   return '… <a title="' . get_the_title($post->ID) . '" href="' . get_permalink($post->ID) . '">' . 'Lire la suite »' . '</a>';
}

[/pastacode]

Cet article a été mis à jour il y a 4851 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

10 Commentaires

  1. Bonjour, ca m’affiche bien “lire la suite” mais quand je clique dessus ça me renvoi sur une erreur 404 !
    Merci pour votre aide.

  2. @Leo : Je viens de re-tester le code et ça fonctionne.

    Vérifiez bien vos permaliens et que vous avez bien copier le code de l’astuce !

  3. Bonjour, sorry de poster sur un ancien post, mais j’ai un souci pour intégrer ce code dans mon fichier.
    Mon fichier contient déjà un code pour cette fonction, mais je n’arrive pas à le remplacer par le votre.

    C’est possible d’avoir un peut d’aide pour l’intégrer?

    Thanks.

  4. @Tonari : Si votre thème contient déjà une fonction qui modifie le lien “lire à la suite”, il faut l’écraser par le code de cet article.

  5. Bonjour, merci pour votre réponse, je viens juste de la voir, j’avais perdu le lien de votre site^^
    J’ai en effet essayé de remplacer la fonction par celle ci mais je dois mal m’y prendre, en même temps je ne suis pas expert du tout dans ce genre de chose.

    voici il me semble la partie de mon fichier function.php qui concerne cette fonction:

    function new_excerpt_length($length) {
    	return 200;
    }
    add_filter('excerpt_length', 'new_excerpt_length');
    
    
    function getTinyUrl($url) {
        $tinyurl = file_get_contents('http://tinyurl.com/api-create.php?url='.$url);
        return $tinyurl;
    }
    
    function smart_excerpt($string, $limit) {
        $words = explode(" ",$string);
        if ( count($words) >= $limit) $dots = '...';
        echo implode(" ",array_splice($words,0,$limit)).$dots;
    }
    

    Suis je bien au bonne endroit dans le document et pouvez vous maider à l’intégrer?

    Merci à vous.

  6. @Tonari : Das le fichier qui affiche vos extraits, vous devez supprimer smart_excerpt().

    Par exemple, dans vos fichiers index.php, category.php ou autre, cela doit ressembler à smart_excerpt( get_the_excerpt() );. Il faut laisser que la fonction get_the_excerpt();

  7. Bonjour, je déterre ce sujet car je l’ai mis sur mon thème enfant Patus et cela ne fonctionne pas => une fois mis, aucun article, catégorie ne fonctionne, la page reste blanche (sans erreur 404). A-t-il évolué depuis 2 ans ?
    Merci Yohann

  8. Bonjour,

    J’ai mis en place le filtre excerpt_more mais j’ai un petit problème quand je veux personnaliser mon extrait, ça enlève le bouton lire la suite. Comment y remédier ?

    Merci :)