Расширенные настраиваемые поля WordPress, циклический повтор - PullRequest
0 голосов
/ 23 сентября 2019

Что у меня есть

У меня есть настройка повторителя в расширенных настраиваемых полях и ползунок начальной загрузки в моем коде.

Чего я пытаюсь достичь

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

У меня есть работающее изображение, но не текст, так что на данный момент у каждого слайда есть свое собственное изображение, но по какой-то причине у меня отображается весь текстдля каждого слайда.

ниже приведена схема моего повторителя ACF

enter image description here

нижемой текущий слайдер

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

enter image description here

Мой код

<?php
$sliderImages = get_field('section_8_slider');
$count = 0;
$section = "section_8_";
$order = array();
?>
 <div class="col-lg-8 mb-3">
                <div class="carousel-inner">
                    <?php foreach ($sliderImages as $imgNumber => $image): ?>
                        <div class="carousel-item<?php if ($imgNumber === 0) : ?> active<?php endif ?>">
                            <img src="<?= $image['image']['url'] ?>" alt="<?= $image['image']['alt'] ?>">

                            <?php if (have_rows($section . 'slider')):
                                while (have_rows($section . 'slider')):
                                    the_row(); ?>
                                    <?php

                                    foreach ($sliderImages as $i => $row)
                                    if ($sliderImages ): ?>
                                            <div class="carousel-text-block">
                                                <h4 class="mb-1"> <?php echo $row['content_title']; ?></h4>
                                                <p class="small m-0"> <?php echo $row['content']; ?></p>
                                            </div>
                                    <?php endif; ?>
                                <?php endwhile;
                            endif; ?>

                        </div>
                    <?php endforeach ?>
                </div>
                <a class="carousel-control-prev" href="#carousel_03" role="button" data-slide="prev">
                    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                    <span class="sr-only"></span>
                </a>
                <a class="carousel-control-next" href="#carousel_03" role="button" data-slide="next">
                    <span class="carousel-control-next-icon" aria-hidden="true"></span>
                    <span class="sr-only"></span>
                </a>
            </div>

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

Мне удалось решить это сам, я был близок, пожалуйста, смотрите ответ ниже

<div class="carousel-inner">
                    <?php foreach ($sliderImages as $imgNumber => $image): ?>
                        <div class="carousel-item<?php if ($imgNumber === 0) : ?> active<?php endif ?>">
                            <img src="<?= $image['image']['url'] ?>" alt="<?= $image['image']['alt'] ?>">
                            <div class="carousel-text-block">
                                <h4 class="mb-1"> <?php echo $image['content_title']; ?></h4>
                                <p class="small m-0"> <?php echo $image['content']; ?></p>
                            </div>
                        </div>
                    <?php endforeach ?>
                </div>
0 голосов
/ 24 сентября 2019

Вы повторяете каждое поле 2 раза.Вы можете использовать get_sub_field(), чтобы упростить ваш код, попробуйте что-то вроде этого:

<div class="carousel-inner">
<?php if (have_rows('section_8_slider')):
    while (have_rows('section_8_slider')): the_row();
        $image = get_sub_field('image');
        $content_title = get_sub_field('content_title');
        $content = get_sub_field('content');?>
        <div class="carousel-item">
            <img src="<?= $image['url'] ?>" alt="<?= $image['alt'] ?>">
            <div class="carousel-text-block">
                <h4 class="mb-1"> <?= $content_title;?></h4>
                <p class="small m-0"> <?= $content;?></p>
            </div>
        </div>
    <?php endwhile;
endif; ?>

Надеюсь, это поможет

...