carousel.php 8 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 'count-up-infographic':       
            ?>
                <?php if( have_rows('count_up_infographic_items') ): ?>
                    <div class="count-info carousel-items <?php echo $size; ?>"><div class='swiper-wrapper'>
                        <?php while( the_repeater_field('count_up_infographic_items') ): 
                            ?>
                                <div class="swiper-slide">
                        
                                <?php
                                    ob_start();
                                        include __DIR__."./../card/styles/count-up-infographic.php";
                                    echo ob_get_clean();
                                ?>
                        
                                </div>
                        <?php endwhile; ?>
                        </div></div>
                        <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                        <div class="swiper-button-next" data-id="<?= $id ?>"></div>

                <?php else: ?>
                        <p>Please add some slides.</p>
                <?php endif; ?>
            <?php break;
             case 'testimonials':  ?>
             
                <?php if( have_rows('testimonials_items') ): ?>
                        <div class="testimonials-carousel carousel-items "><div class='swiper-wrapper'>
                            <?php while( the_repeater_field('testimonials_items') ): 
                                ?>
                                    <div class="swiper-slide">
                            
                                        <?php
                                            ob_start();
                                                include __DIR__."./../card/styles/testimonials.php";
                                            echo ob_get_clean();
                                        ?>
                            
                                    </div>
                            <?php endwhile; ?>
                        </div></div>
                        <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                        <div class="swiper-button-next" data-id="<?= $id ?>"></div>
                <?php else: ?>
                        <p>Please add some slides.</p>
                <?php endif; ?>

            <?php break;
             case 'story':  ?>
             
                <?php if( have_rows('story_items') ): ?>
                        <div class="stories carousel-items "><div class='swiper-wrapper'>
                            <?php while( the_repeater_field('story_items') ): 
                                ?>
                                <div class="swiper-slide">
                                    <?php
                                        ob_start();
                                            include __DIR__."./../card/styles/story.php";
                                        echo ob_get_clean();
                                    ?>
                                </div>
                            <?php endwhile; ?>
                        </div></div>
                        <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                        <div class="swiper-button-next" data-id="<?= $id ?>"></div>

                <?php else: ?>
                        <p>Please add some slides.</p>
                <?php endif; ?>
                <?php break;
             case 'download':  ?>
                           
                    <?php if( have_rows('download_items') ): ?>
                        <div class="download carousel-items <?php echo $size; ?>"><div class='swiper-wrapper'>
                            <?php while( the_repeater_field('download_items') ): 
                                ?>
                                <div class="swiper-slide">
                                    <?php
                                        ob_start();
                                            include __DIR__."./../card/styles/download.php";
                                        echo ob_get_clean();
                                    ?>
                                </div>
                            <?php endwhile; ?>
                        </div></div>
                        <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                        <div class="swiper-button-next" data-id="<?= $id ?>"></div>
                        <?php else: ?>
                        <p>Please add some slides.</p>
                <?php endif; ?>
            <?php break;
                    case 'staff-diaries':  ?>
                            <?php if( have_rows('staff_diaries_items') ): ?>
                                <div class="staff carousel-items <?php echo $size; ?>"><div class='swiper-wrapper'>
                                    <?php while( the_repeater_field('staff_diaries_items') ): 
                                        ?>
                                            <div class="swiper-slide">
                                                <?php
                                                    ob_start();
                                                        include __DIR__."./../card/styles/staff-diaries.php";
                                                    echo ob_get_clean();
                                                ?>
                                            </div>
                                    <?php endwhile; ?>
                               </div> </div>
                               <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                                <div class="swiper-button-next" data-id="<?= $id ?>"></div>
                            <?php else: ?>
                                <p>Please add some slides.</p>
                        <?php endif; ?>
                    <?php break;
                       case 'book-club':  ?>
                        <?php if( have_rows('book_club_items') ): ?>
                            <div class="books carousel-items"><div class='swiper-wrapper'>
                                <?php while( the_repeater_field('book_club_items') ): 
                                    ?>
                                    <div class="swiper-slide">
                                        <?php
                                            ob_start();
                                                include __DIR__."./../card/styles/book-club.php";
                                            echo ob_get_clean();
                                        ?>
                                    </div>
                                <?php endwhile; ?>
                           </div> </div>
                           <div class="swiper-button-prev" data-id="<?= $id ?>"></div>
                            <div class="swiper-button-next" data-id="<?= $id ?>"></div>
                        <?php else: ?>
                            <p>Please add some slides.</p>
                    <?php endif; ?>
                <?php break;
                default: ?>    
                <p>Please select style.</p>  
                       <?php }; ?> 
 </div>