第一个循环打破了第二个循环

时间:2018-06-25 11:16:33

标签: php html while-loop advanced-custom-fields

我试图在页脚中使用ACF [高级自定义字段,选项页]通过循环显示数据。

这可以在我的主页上正常工作。但是,如果我导航到子页面,它会中断,这意味着它可能仅显示page_links行,或者在其他页面上仅显示images_footer行。

这让我感到困惑,因为首页正常正常运行,并从下方显示所有页脚数据。

我还查看了自定义字段名称是否与子页面自定义字段名称和页脚有冲突,但是我没有找到任何冲突。

另一件事,如果我要删除第一个循环,第二个循环有效,则仅在某些页面上,所以很奇怪。

如果我保留第一个while循环,删除第二个while循环,然后导航到其他页面,则第一个while循环会显示在某些页面上,而有些页面则不显示,这怎么可能。

*我已经做了一些var_dumps();在两个if语句之后,但显然转储没有。因此,它甚至不选择行->(“ page_links”,“ option”),或在某些情况下(“ images_footer”,“ option”)。

任何有用的提示将不胜感激。

<div class="col-lg-8">

  <div class="links">

  <?php      
   if( have_rows('page_links', 'option') ): 
   while( have_rows('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>

  <div class="foot-images">
  <?php
   if( have_rows('images_footer', 'option') ): 
   while( have_rows('images_footer', 'option') ): the_row();
  ?>                              

  <div><img class="img-fluid" src="<?php the_sub_field('logo_image');   ?>" alt=""></div>    
  <?php endwhile;endif;  ?> 
  </div>

</div>

遵循此文档:ACF - Get values from an options page

0 个答案:

没有答案