Правило скрывать DIV, если нет изображения? - PullRequest
0 голосов
/ 25 апреля 2020

Надеюсь, у вас все хорошо.

У меня приведенный ниже код работает должным образом, но есть ли способ ТОЛЬКО показывать div 'listgallery', если возвращаются изображения?

На данный момент, это прекрасно работает, если в списке есть изображения, но если нет изображений, то у меня отображается пустой стиль div. В идеале я хочу создать правило, чтобы сказать «ЕСЛИ листинг изображений 'истинно”, а затем показать «листинг галереи» ».

Я попытался разместить div« листинг галереи »в другом месте кода, но, похоже, просто взломал sh мой сайт так надеясь, что смогу создать правило?

С уважением, Спенсер

<div class="listinggallery">
<?php
    //Get the images ids from the post_metadata
    $images = acf_photo_gallery('gallery', $post->ID);
    //Check if return array has anything in it
    if( count($images) ):
        //Cool, we got some data so now let's loop over it
        foreach($images as $image):
            $id = $image['id']; // The attachment id of the media
            $full_image_url= $image['full_image_url']; //Full size image url
            $full_image_url = acf_photo_gallery_resize_image($full_image_url, 1024, 768); //Resized size to 262px width by 160px height image url
            $thumbnail_image_url= $image['thumbnail_image_url']; //Get the thumbnail size image url 150px by 150px
            $url= $image['url']; //Goto any link when clicked
            $target= $image['target']; //Open normal or new tab
            $alt = get_field('photo_gallery_alt', $id); //Get the alt which is a extra field (See below how to add extra fields)
            $class = get_field('photo_gallery_class', $id); //Get the class which is a extra field (See below how to add extra fields)
?>
<div class="listingimage">
    <div class="thumbnail">
        <?php if( !empty($url) ){ ?><a href="<?php echo $url; ?>" <?php echo ($target == 'true' )? 'target="_blank"': ''; ?>><?php } ?>
            <a href="<?php echo $full_image_url; ?>" class="fancybox">
                <img src="<?php echo $thumbnail_image_url; ?>" alt="<?php echo $title; ?>" title="<?php echo $title; ?>">
            </a>
        <?php if( !empty($url) ){ ?></a><?php } ?>
    </div>
</div>
<?php endforeach; endif; ?>
</div>

1 Ответ

0 голосов
/ 25 апреля 2020

Если вы перемещаете создание <div> внутри блока, который решает, есть ли что-либо для отображения ...

<?php
$images = acf_photo_gallery('gallery', $post->ID);
//Check if return array has anything in it
if( count($images) ):
    // Output start of gallery div
    ?>
    <div class="listinggallery">
    <?php
    //Cool, we got some data so now let's loop over it
    foreach($images as $image):

        // rest of code as it currently is

    endforeach; 
    // Close of gallery div
    ?>
    </div>
    <?php 
endif; 
?>
...