Отображать звезды в зависимости от того, какое число я получаю от администратора Wordpress - PullRequest
0 голосов
/ 25 июня 2018

Я хочу отображать звезды, основываясь на числе, которое я получаю от администратора из поля ACF, это код, который у меня есть сейчас.

<?php if( have_rows('testimonials_reviews_section') ):
            while ( have_rows('testimonials_reviews_section') ) : the_row(); ?>
            <!-- Slides -->
            <div class="swiper-slide">
                <div class="testimonials--reviews-review">
                    <div class="testimonials--review-stars">
                        <span class="star filled">★</span>
                        <span class="star filled">★</span>
                        <span class="star filled">★</span>
                        <span class="star filled">★</span>
                        <span class="star filled">★</span>
                    </div>
                    <?php the_sub_field('stars'); ?>
                    <p class="testimonials--review-text"><?php the_sub_field('text'); ?></p>
                    <span class="testimonials--review-author"><?php the_sub_field('author'); ?></span>
                </div>
            </div>
            <?php endwhile;
        endif; ?>

У меня здесь есть повторитель, и я получу из sub_field ('stars'), например, номер 3, и мне нужно отобразить все 5 звезд, но только 3 класса "заполнены" будут там для 3 звезд.

1 Ответ

0 голосов
/ 25 июня 2018

Я думаю, что неправильно прочитал вопрос в первый раз. Вы должны строить звезды динамически и применять класс, если число звездочек меньше.

$count = 3; //the_sub_field('stars');
for($i = 1; $i < 6; $i++) {
    $class = $i <= $count ? ' filled' : '';
?>
    <span class="star<?php echo $class;?>">★</span>
<?php
}

https://3v4l.org/5M3lA

...