Sur une page d’accueil de magazine, chaque article s’accompagne presque toujours d’une vignette qui attire l’œil avant même de lire le titre. Cette vignette provient rarement du corps du texte : elle est associée séparément, une fois pour toutes, au contenu lui-même.
Comment le thème l’exploite
Cette fonctionnalité doit d’abord être activée avec add_theme_support( 'post-thumbnails' ), généralement dans le fichier functions.php. Techniquement, l’image n’est pas dupliquée : WordPress se contente de stocker l’identifiant de la pièce jointe dans la métadonnée _thumbnail_id du contenu.
Côté template, trois fonctions reviennent constamment : has_post_thumbnail() pour tester sa présence, the_post_thumbnail( $taille ) pour l’afficher directement, et get_the_post_thumbnail_url() pour n’en récupérer que l’URL, utile dans une balise meta Open Graph.
Exemple
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'large', array( 'class' => 'img-fluid' ) );
}
Pièges fréquents
- Sans
add_theme_support( 'post-thumbnails' ), l’encart correspondant n’apparaît même pas dans l’écran d’édition, ce qui déroute souvent les débutants qui pensent avoir perdu leurs images. - Un format d’image mal dimensionné force WordPress à générer une nouvelle taille intermédiaire à la volée côté serveur si elle n’existe pas encore, ce qui peut ralentir un premier chargement.
- Pour un contenu personnalisé, il faut aussi ajouter
'thumbnail'dans le tableausupportslors deregister_post_type(), sans quoi la fonctionnalité reste invisible même le support de thème activé.