WordPress : modifier le lien « Continuer la lecture »

Si vous utilisez WordPress en français, vous avez sans doute déjà remarqué que le lien ajouté à la fin de l’extrait est souvent mal traduit : « Continue la lecture », « Continuer la lecture de »… Il est donc préférable de modifier ce lien pour mettre en place une traduction plus « propre ».

La première idée serait bien entendu d’aller modifier les fichiers de traduction, voir de modifier le thème pour y mettre directement le texte en français, mais tout est alors à refaire à chaque mise à jour de WordPress… Alors, comment faire ça de façon plus pérenne ? Tout simplement en créant un plug-in. Vous allez voir, c’est super simple.

Pour commencer, créez un fichier .php, contenant la fonction qui va créer le lien que vous voulez pour un article donné. Par exemple, pour avoir un lien pointant directement sur le bon paragraphe, ça donne quelque chose comme ça :

function moreLink()
{
    global $post;
    return '<a class="more-link" href="'.get_permalink($post->ID).'#more-'.$post->ID.'">Lire la suite →</a>';
}

Si vous préférez que le lien pointe sur la page de l’article sans défiler directement vers le bon paragraphe (recommandé notamment pour Twenty Fourteen, dont le menu horizontal vient empiéter sur le début du paragraphe…), essayez quelque chose comme ça :

function moreLink()
{
    global $post;
    return '<a class="more-link" href="'.get_permalink($post->ID).'">Lire la suite →</a>';
}

Reste à faire comprendre à WordPress qu’il doit appeler cette fonction quand il crée un lien vers la suite. Ceci peut se faire grâce au système de filtres de WordPress. Les filtres sont ce qui fait toute la souplesse de WordPress : ils permettent à un plug-in d’aller se « brancher » à énormément d’endroits dans le code de WordPress, en définissant une fonction filtre qui va être appelée automatiquement quand WordPress effectue un traitement correspondant au filtre. Et ça tombe bien, il existe un filtre pour le lien vers la suite : the_content_more_link.

Pour définir une fonction filtre, il suffit d’appeler add_filter en lui passant en paramètre le traitement à filtrer et le nom de la fonction à appliquer. Ajoutez simplement cette ligne dans le fichier :

add_filter('the_content_more_link', 'moreLink');

Pour faire de ce fichier un plug-in WordPress, rien de plus simple : placez le dans le répertoire plug-ins de votre installation de WordPress. C’est tout, il n’y a aucune autre obligation sur le contenu ou le nommage du fichier. Vous pouvez éventuellement ajouter quelques infos au début du fichier pour que ça présente mieux dans l’interface de gestion des plug-ins, mais ce n’est pas indispensable :

/*
Plugin Name: Lire la suite
Plugin URI: https://www.infobidouille.com
Description: Remplace les liens en fin d'extrait par "Lire la suite"
Author: Matthieu Sarter
Author URI: https://matthieu.sarter.fr
Version: 1.0
License: CeCILL-B
License URI: http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.html */

Il n’y a plus qu’à vous rendre dans l’interface de gestion des plug-ins pour activer ce plug-in et vous devriez voir de jolis liens correspondants à ce que vous avez mis dans la fonction moreLink.

Si vous avez une installation de WordPress commune à plusieurs blogs et si vous voulez utiliser ce lien sur tous les blogs, vous pouvez aussi déposer le fichier dans wp-content/mu-plugins (créez le répertoire s’il n’existe pas), ce qui vous évitera de devoir l’activer sur chaque site. Les plug-ins contenus dans ce dossier sont en effet activés d’office pour tous les sites (mu = must use).

5 réflexions sur « WordPress : modifier le lien « Continuer la lecture » »

  1. Bonjour et déjà, merci. Mais j’ai un problème, lorsque j’active l’extension, il m’affiche en haut de mon admin tout le contenu du fichier .php …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.