Ich habe andere ( Quelle 1 , Quelle 2 , Quelle 3 ) mit dem folgenden Code gefunden, um ein zufälliges Galeriebild anzuzeigen (und es funktioniert) mit dem ACF-Plugin :
<?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; ?>
Aber ich versuche es mit wp_get_attachment_image()
(für reaktionsschnelle Bilder), bin mir aber nicht sicher, wie ich die $Rand
-Variable zum Laufen bringen soll? Die ACF-Dokumentation für das Feld "Galerie" enthält ein Beispiel für "Grundlegende Liste der Bilder", in dem wp_get_attachment_image()
verwendet wird, die Galerie muss jedoch nicht durchlaufen werden.
Jede Hilfe wäre sehr dankbar. Ich denke, es muss so etwas wie das Folgende sein, wobei die Variable $Rand
irgendwo hinzugefügt wird:
<?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; ?>
Antwort gefunden über ACF Forums . Das Hinzufügen des Parameters false
gibt einen unformatierten Wert zurück.
<?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; ?>
Dieser Code sollte funktionieren. array_Rand()
return key, wenn der zweite Parameter auf 1 gesetzt ist, oder array with keys, wenn der zweite Parameter> 1 ist