簡體   English   中英

僅當具有元字段時才顯示 ACF 庫中的圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM