J'en ai trouvé d'autres ( source 1 , source 2 , source 3 ) en utilisant le code suivant pour afficher une image de galerie aléatoire (et cela fonctionne) avec le plugin ACF :
<?php
$gallery = get_field('images');
$Rand = array_Rand($gallery, 1);
if( $gallery ): ?>
<img src="<?php echo $gallery[$Rand]['sizes']['large']; ?>" alt="<?php echo $gallery[$Rand]['alt']; ?>" />
<?php endif; ?>
Mais j’essaie de le faire avec wp_get_attachment_image()
(pour les images responsive) mais je ne sais pas comment faire fonctionner la variable $Rand
? Le Documentation ACF pour le champ Galerie a un exemple de "liste de base d'images" qui utilise wp_get_attachment_image()
mais je n'ai pas besoin de parcourir la galerie en boucle.
Toute aide serait grandement appréciée. Je pense que cela doit ressembler à ceci, avec la variable $Rand
ajoutée quelque part:
<?php
$images = get_field('gallery');
$size = 'full'; // (thumbnail, medium, large, full or custom size)
$Rand = array_Rand($images, 1);
if( $images ): ?>
<?php echo wp_get_attachment_image( $images['ID'], $size ); ?>
<?php endif; ?>
Réponse trouvée via Forums ACF . L'ajout du paramètre false
renvoie une valeur brute/non formatée.
<?php
$images = get_field('gallery', 'option', false); // Adding the `false` parameter returns raw/unformatted value
$size = 'full'; // (thumbnail, medium, large, full or custom size)
$Rand = array_Rand($images, 1);
if( $images ): ?>
<?php echo wp_get_attachment_image( $images[$Rand], $size ); ?>
<?php endif; ?>
<?php
$images = get_field('gallery');
$size = 'full'; // (thumbnail, medium, large, full or custom size)
$Rand = array_Rand($images, 1);
if( $images ): ?>
<?php echo wp_get_attachment_image( $images[$Rand]['ID'], $size ); ?>
<?php endif; ?>
Ce code devrait fonctionner. array_Rand()
return key si second paramètre défini sur 1 ou tableau avec clés si second paramètre> 1