WordPress : Forcer une taille de vignette spécifique à l’aide de wp_get_attachment_image

Publié par Jean-Michel le

J’ai vu toutes sortes de solutions à ce problème, mais aucune d’entre elles n’a résolu mon problème simple. Comme vous pouvez le voir sur le site je travaille sur les vignettes à droite qui ne sont pas égales. Je dois les définir sur 214x121px comme vignettes.

J’ai essayé d’utiliser des plugins tels que Regenerate thumbnails (après avoir ajouté une nouvelle taille d’image à functions.php) et des tailles d’image personnalisées, sans succès.

Je pense que c’est évident mais <?php echo wp_get_attachment_image( $attachment->ID, array(214, 121), false );?>puisque j’ai compris WordPress apportera l’image la plus proche, compte tenu des proportions, à la taille donnée.

Ma version WordPress est la 3.6.

Toute idée/assistance sera appréciée.

Solution n°1 trouvée

J’utilise généralement wp_get_attachment_image_src pour faire cela, et voici comment je le fais :

Si vous avez ajouté votre taille d’image personnalisée comme ceci :

add_image_size( 'blog_featured_image', 214, 121, false); //Featured Image for Blog

Ensuite, dans votre modèle, vous pouvez appeler la taille d’image personnalisée comme ceci :

<?php $imageID = get_field('featured_resource_image');
$imageURL = wp_get_attachment_image_src( $imageID, 'blog_featured_image' ); ?>
<img src="<?php echo $imageURL[0]; ?>" />

‘featured_resource_image’ est un champ personnalisé que j’ai créé à l’aide du plug-in Advanced Custom Fields, mais le get_field correspondant renvoie simplement l’ID de l’image sélectionnée. J’attribue donc l’ID de l’image à $imageID. J’obtiens ensuite l’objet de l’image en utilisant wp_get_attachment_image_src, où j’ai utilisé la taille d’image personnalisée de ‘blog_featured_image’. Cela renvoie un tableau avec toutes les données de l’image. Le premier enregistrement du tableau est l’URL de l’image, donc je renvoie $imageURL[0] pour renvoyer l’URL.

Il y a probablement d’autres façons de le faire, peut-être de bien meilleures façons, mais cette façon a toujours fonctionné pour moi.

EDIT : En regardant la fonction à laquelle vous faites référence, cela devrait fonctionner :

Définissez la taille de votre image personnalisée comme indiqué ci-dessus. Alors utilise ceci :

<?php wp_get_attachment_image( $attachment_id, 'blog_featured_image' ); ?>

Définissez simplement $attachment_id pour qu’il soit égal à l’ID de votre image, mais vous êtes actuellement en train de saisir l’ID.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *