[英]Display image from ACF gallery only if it has meta field
我有一个 ACF 图像库,并为名为“featured_image”的图像附件设置了一个真/假 (1/0) 自定义字段。 在图库中,有几张图像被选为特色图像,而其他图像则没有。
我想要实现的是随机 select 具有“featured_image”自定义字段为真的图像之一。
到目前为止,我的代码包含在下面,但是我无法通过仅从标记为“featured_image”的图库中选择图像来使其工作,或者知道如何使选择随机。 帮助表示赞赏!
<?php
$images = get_field('project_documentation', 'option');
if( $images ): ?>
<?php
$i = 0;
foreach( $images as $image ):
$featured = get_field('featured_image', $image['id']);
if ($featured == '1' ) { ?>
<div class="gallery-image">
<a href="<?php echo $image['url']; ?>"><img src="<?php echo $image['sizes']['large']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</div>
<?php } $i++; endforeach; ?>
<?php endif; ?>
假设您的代码片段有效(但缺少随机元素),您可以执行以下操作。
<?php
$images = get_field('project_documentation', 'option');
if( $images ) {
$featured_images = array();
foreach( $images as $image ) {
$featured = get_field('featured_image', $image['id']);
if ($featured == '1' ) {
$featured_images[] = $image;
}
}
if ( !empty( $featured_images ) ) {
$rand = rand(0, count( $featured_images ));
$image = $featured_images[$rand];
?>
<div class="gallery-image">
<a href="<?php echo $image['url']; ?>"><img src="<?php echo $image['sizes']['large']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
</div>
<?php
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.