Images à la une avec WordPress
13 octobre 2011 | WordPress | aucun commentaire
Petit rappel sur les images à la une dans WordPress
Les images à la une sont un moyen d’attacher une image à un post, une page ou custom_type. Ca permet par exemple d’afficher une vignette propre à chaque article dans une page où on liste les articles. Si les images à la une n’apparaissent pas dans l’admin de votre site, ajoutez cette ligne dans votre fichier functions.php
[cce lang='php' line_numbers='false']<?php add_theme_support( ‘post-thumbnails’ ); ?>[/cce]
Si vous ne précisez rien, les images à la une seront disponibles pour les posts et les pages. Vous pouvez aussi les activer uniquement pour les posts
[cc lang='php' line_numbers='false']add_theme_support( ‘post-thumbnails’, array( ‘post’ ) ); // Ajouter les images à la une sur les articles uniquement[/cc]
Afficher une image à la une
Pour afficher votre image à la une, c’est très simple : [cc lang='php' line_numbers='false']the_post_thumbnail(); // affiche la miniature par défaut[/cc]
Par défaut, une image uploadée dans WordPress a 4 tailles. Pour afficher votre image à la une, passez une chaîne à la fonction the_post_thumbnail
Exemple [cc lang='php' line_numbers='false']the_post_thumbnail(‘large’);[/cc]
Les valeurs possibles sont thumbnail, medium, large, full
Il peut être prudent de tester l’existence d’une image à la une avant de tenter de l’afficher…
[cc lang='php' line_numbers='false']
if ( has_post_thumbnail() ) { // dans la boucle
the_post_thumbnail();
}
[/cc]
Ne récupérer que l’url d’une image à la une
WordPress a prévu une fonction pour afficher l’image à la une et une pour récupérer le tag html complet sans l’afficher (get_the_post_thumbnail()).
Que faire si on ne veut récupérer que l’attribut src de l’image pour utiliser dans les css par exemple ?
[cc lang='php' line_numbers='false']
$imageData = wp_get_attachment_image_src(get_post_thumbnail_id ( $post_ID ), ‘medium’);
echo $imageData[0]; // attribut src de l’image à la une
[/cc]
Note : Le tableau retourné contient 3 éléments, url, largeur, hauteur
Pour aller plus loin…
Rien ne vaut le Codex ;-)
