@Stroy-St

Как вывести видео в галерею вместе с изображениями — php?

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

Есть 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>
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
gogowq
@gogowq
Ozh domosh acha ozh
<?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 $media ): ?>
            <div class="project-slider__slide">
              <?php if( $media['mime_type'] === 'image/jpeg' || $media['mime_type'] === 'image/png' ): ?>
                <img src="<?php echo $media['url']; ?>" alt="<?php echo $media['alt']; ?>" class="project-slider__image">
              <?php elseif( $media['mime_type'] === 'video/mp4' ): ?>
                <video controls="" autoplay="" name="media" src="<?php echo $media['url']; ?>" type="video/mp4" class="project-slider__image"></video>
              <?php endif; ?>
            </div>
          <?php endforeach; ?>
        </div>
      </div>
    </div>
  <?php endif; ?>
</div>
Ответ написан
@Stroy-St Автор вопроса
Нашел ответ. Если кому-нибудь понадобиться, вот рабочее решение!

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

<?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>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы