WordPress : Forcer une taille de vignette spécifique à l’aide de wp_get_attachment_image
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.
0 commentaire