carousel.php 3.49 KB
<?php

/**
 * Carousel Block Template.
 *
 * @param   array $block The block settings and attributes.
 * @param   string $content The block inner HTML (empty).
 * @param   bool $is_preview True during AJAX preview.
 * @param   (int|string) $post_id The post ID this block is saved to.
 */

// Create id attribute allowing for custom "anchor" value.
$id = 'carousel-' . $block['id'];
if( !empty($block['anchor']) ) {
    $id = $block['anchor'];
}

// Create class attribute allowing for custom "className" and "align" values.
$className = 'carousel';


if( !empty($block['className']) ) {
    $className .= ' ' . $block['className'];
}
if( !empty($block['align']) ) {
    $className .= ' align' . $block['align'];
}
if( $is_preview ) {
    $className .= ' is-admin';
}

$carousel_style = get_field('carousel_style');


?>
<div id="<?php echo esc_attr($id); ?>" class="<?php echo esc_attr($className); ?> ">
        <?php switch($carousel_style){  
          
             case 'promo':  ?>
             
                <?php if( have_rows('promo_items') ): ?>
                        <div class=" carousel-items promo-carousel">
                            <div class='swiper-wrapper'>
                            <?php while( the_repeater_field('promo_items') ): ?>
                            <?php $page = get_sub_field('page'); ?>
                                <div class="swiper-slide">
                                    <div class="carousel-content">
                          
                                        <div class="row">
                                            <div class="col-lg-4 col-md-4 col-sm-12 promo-image" >
                                           <?php $image =  get_the_post_thumbnail_url( $page->ID, 'medium' );
                                                 $thumbnail_id = get_post_meta( $page->ID, '_thumbnail_id', true );
                                                 $img_alt = get_post_meta ( $thumbnail_id, '_wp_attachment_image_alt', true );                    
                                                    if(!$img_alt){
                                                        $img_alt = get_the_title($thumbnail_id);
                                                    }
                                            ?>
                                                    <img src="<?php echo $image; ?>" alt="<?php echo $img_alt ?>" loading="eager">
                                              </div>
                                            <div class="col-lg-8 col-md-8 col-sm-12">
                                                <div class="promo-text"><?php echo get_the_excerpt($page->ID); ?> <a class="understrap-read-more-link" href="<?php echo get_permalink($page->ID);?>">READ MORE</a></div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            <?php endwhile; ?>
                        </div>
                        <div class="swiper-pagination"></div>
                    
                        <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                        <div class="swiper-button-next" data-id="<?= $id ?>"></div>
                    </div> 
                <?php else: ?>
                        <p>Please add some slides.</p>
                <?php endif; ?>

            <?php break;
                default: ?>    
                <p>Please select style.</p>  
                       <?php }; ?> 
 </div>