Extraits WordPress : modifier leur affichage (read more, …)

Dans WordPress, on peut afficher une liste d’article en utilisant soit l’extrait soit tout le contenu. Et l’extrait peut être généré automatiquement ou rempli manuellement. Des fonctions en PHP permettent de régler la longueur maximum de l’extrait automatique, d’ajouter un lien et […] ou « Lire la suite », d’accepter ou non les retours à la ligne et autres éléments de mise en page du résumé. 

Le problème

Il est relativement simple (il y a plein d’exemples partout) de définir des régles pour l’extrait généré automatiquement. Ca l’est beaucoup moins pour l’extrait manuel (celui qu’on remplit dans une case tout en bas de la page d’édition d’un article).

Les sources d’inspiration

Le code proposé sur WordPress.StackExchange remplit presque entièrement les spécifications souhaitées :

  • accepter des éléments de mise en page dans l’extrait (retour à la ligne, affichage de liste, …) : OK ;
  • Ne pas couper les mots des extraits automatiques : OK ;
  • Ajouter un lien « lire la suite » à la fin de tous les extraits : OK pour les extraits créées automatiquement, pas pour les extraits créés manuellement.

Pourquoi ça ne fonctionne pas pour les extraits manuels ?

La ligne suivante sert à ajouter le lien « lire la suite » à la fin des extraits :

Mais except_more ne s’applique qu’aux résumés générés automatiquement. Il faut donc que j’arrive à ajouter ce même lien à un extrait manuel…

En fait l’ensemble du code situé à l’intérieur du if ( '' == $wpse_excerpt ) en ligne 26 s’applique exclusivement aux extraits automatique.

Au bout d’un certain temps, et grâce à l’ajout judicieux d’un ‘AAAA ! ‘ avant les extraits manuels, j’ai fini par comprendre qu’il fallait tout simplement ajouter la ligne 78 avant que le résumé manuel ne soit géré par la ligne 81.

Et voilà, ça fonctionne pour tous les extraits, quelle que soit la manière dont ils sont générés !

Pourquoi diable utiliser les extraits manuels ?

On peut en effet se demander pourquoi j’ai passé tant de temps à résoudre ce problème !

Ma conviction c’est que le début d’un article sert à situer le contexte, pas à en faire le résumé. J’utilise donc le début de l’article comme introduction à la suite. C’est le résumé manuel qui me sert comme extrait dans les listes d’articles. Le résumé a pour vocation de donner les clés pour que les visiteurs puissent décider si l’article les intéresse.

 

Poster un Commentaire

avatar
  S’abonner  
Notifier de