Вывод видео в галерею вместе с изображениями - php

Рейтинг: 0Ответов: 1Опубликовано: 23.06.2023

Подскажите пожалуйста, как сделать так, что бы в галерее изображений можно было выводить еще и видео?

Есть php-код, который отображает только изображения. Как его изменить и что надо добавить?

<?php 
$project_gallery = get_field( "slajder" );
?>

      <div class="row">
        <?php if( $project_gallery ): ?>
          <div class="col-xl-8 col-lg-7 col-12">
            <div class="project-slider">
              <div class="project-slider__content" id="project-slider">
                <?php foreach( $project_gallery as $image ): ?>
                  <div class="project-slider__slide">
                    <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" class="project-slider__image">
                    <video controls="" autoplay="" name="media" src="<?php echo $video['url']; ?>" type="video/mp4" class="project-slider__image"></video> //надо, что бы вот это выводилось вместе с изображениями
                  </div>
                <?php endforeach; ?>
              </div>

Ответы

▲ 0Принят

Ну должно быть что-то вроде:

<?php $project_gallery = get_field('slajder'); ?>
<div class="row">
    <?php if ($project_gallery): ?>
        <div class="col-xl-8 col-lg-7 col-12">
            <div class="project-slider">
                <div class="project-slider__content" id="project-slider">
                    <?php foreach($project_gallery as $item) : ?>
                        <div class="project-slider__slide">
                            <?php if ($item['type'] === 'image') : ?>
                                <img src="<?php echo esc_url($item['url']); ?>" alt="<?php echo esc_attr($item['alt']); ?>" class="project-slider__image">
                            <?php elseif ($item['type'] === 'video') : ?>
                                <video controls="" autoplay="" name="media" src="<?php echo esc_url($item['url']); ?>" type="video/mp4" class="project-slider__image"></video>
                            <?php endif; ?>
                        </div>
                    <?php endforeach; ?>
                </div>
            </div>
        </div>
    <?php endif; ?>
</div>

Я заменил $image на $item, чтобы было более релевантно. Просто проверяйте $item['type'] тип файла, в случае с картинкой будет 'image', в случае с видео, будет 'video' соответственно.