Расширенное настраиваемое поле | размещение объектов в репитере не работает

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

Вот мой код:

<?php if( have_rows('repeater') ): ?>
<?php while( have_rows('repeater') ): the_row(); 
    // vars
    $repeater = get_sub_field('repeater'); ?>
    <?php $repeaterGroup = get_sub_field('repeater_group'); ?>
    <div class="box25-75">
        <div class="col col1">
            <?php $colLeft= $repeaterGroup['left_col']; ?>
            <div class="text">
                <p class="text-center">
                    E: <a href="mailto:<?php echo $colLeft['email']; ?>"><?php echo $colLeft['email']; ?></a><br />
                    T: <?php echo $colLeft['telefon']; ?>
                </p>
            </div>
        </div>
        <div class="col col2">
            <div style="margin-top: 40px;">
                <?php
                  $args = array(
                    'post_type' => 'html5-blank',
                    'post_status' => 'publish',
                    'posts_per_page' => '100',
                  );
                  $wp_query = new WP_Query( $args );
                  if ( $wp_query->have_posts() ) : ?>
                        <?php while ( $wp_query->have_posts() ) : $wp_query->the_post();
                          // Set variables
                          $title = get_the_title();
                          $description = get_the_content(); 
                          $field = get_field_object('autor');
                          $colors = $field['value'];
                          $date = get_the_date( 'd.m.Y' );
                          // Output
                          ?>
                            <?php // show something ?>
                            <?php $wp_query->reset_postdata(); ?>
                        <?php endwhile; ?>
                    <?php endif; ?>
            </div>
        </div>
        <div class="clear"></div>
    </div>
<?php endwhile; ?>
<?php endif; ?>

Я не думаю, что вы правильно сбрасываете постданные. Должен быть просто <?php wp_reset_postdata(); ?>

disinfor 13.09.2018 20:51

@disinfor Я пробовал, но результат тот же

Kevin Brandao da Graca 13.09.2018 20:59

Получаете ли вы какие-нибудь посты? Вы сказали первый ряд репитера, но не уверены, включает ли он вывод поста. Кроме того, я бы посоветовал не использовать $wp_query в качестве переменной для хранения нового запроса, поскольку это глобальная переменная и может иметь конфликты.

disinfor 13.09.2018 21:06

@disinfor Привет, спасибо за вашу помощь. Я нашел свою проблему. По какой-то причине мне пришлось изменить reset_postdata () на reset_query ()

Kevin Brandao da Graca 13.09.2018 21:10

Потрясающие! Рад, что ты понял это.

disinfor 13.09.2018 21:11
0
5
26
1

Ответы 1

Я нашел свою проблему. Вместо сброса данных сообщения мне пришлось сбросить запрос. Поэтому я изменил строку «$ wp_query-> reset_postdata ();» с "wp_reset_query ();"

Другие вопросы по теме