Страница ACF пока цикл прерывает нижний колонтитул, пока цикл - PullRequest
0 голосов
/ 02 июля 2018

Так что в основном у меня есть главная страница и страница нижнего колонтитула. Оба являются отдельными .php файлами.

Я использую ACF для этого сайта.

Следуя документации, я создал цикл while для моего «гибкого контента» на главной странице, и он работает, отображая все данные, которые зацикливаются и подключаются из полей ввода CMS.

Моя проблема в нижнем колонтитуле, у меня есть цикл while, который отображает ссылки, но он не будет отображать , если только я не удаляю цикл while с главной страницы, затем ссылки отображаются в нижнем колонтитуле.

Я, честно говоря, не понимаю, почему это происходит, я уже проверил все это, и, пожалуйста, помогите.

Код главной страницы:

<?php

// check if the flexible content field has rows of data
if( have_rows('flexible_content_field_name') ):

    // loop through the rows of data
    while ( have_rows('flexible_content_field_name') ) : the_row();

        // check current row layout
        if( get_row_layout() == 'gallery' ):

            // check if the nested repeater field has rows of data
            if( have_rows('images') ):

                echo '<ul>';

                // loop through the rows of data
                while ( have_rows('images') ) : the_row();

                    $image = get_sub_field('image');

                    echo '<li><img src="' . $image['url'] . '" alt="' . $image['alt'] . '" /></li>';

                endwhile;

                echo '</ul>';

            endif;

        endif;

    endwhile;

else :

    // no layouts found

endif;

?>
<?php get_footer(); ?>

Код нижнего колонтитула:

<div class="links">

         <?php

            if( have_rows('footer_page_links', 'option') ): 
            var_dump("test");
            while( have_rows('footer_page_links', 'option') ): the_row();

            ?>

            <p><a href="<?php the_sub_field('footer_link');   ?>"><?php the_sub_field('footer_link_name'); ?></a></p>

        <?php endwhile; ?>
        <?php endif; ?>   


</div>
<?php wp_footer(); ?>

Я просто хотел бы добавить, даже vardump() не отображается в нижнем колонтитуле, если главная страница в то время как цикл реализован так, что он никогда не попадет в цикл нижнего колонтитула. Нижний колонтитул использует страницу параметров ACF -> LINK

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

1 Ответ

0 голосов
/ 09 июля 2018

Так что эта проблема решена на моей стороне, после того, как они связались с парнями из ACF, они сделали копию того, что я сделал, и не смогли воссоздать мою проблему.

Что заставило меня задуматься, так как у меня была последняя версия Wordpress (версия 4.9.7), единственное отличие - это хостинг.

То, что я использовал на localhost, было XAMP версии 3.2.2, в котором я не думал, что это проблема, но это было , поэтому обновлен до живого сервера, и все работает как положено, так что для будущих ссылок если вы столкнетесь с этими простыми необъяснимыми ошибками в коде, проверьте хостинг или обновитесь.

...