所以基本上我有一个主页和一个页脚页面。两者都是独立的.php文件。
我正在为此网站使用ACF。
根据文档,我在主页上为我的“灵活内容”创建了一个while循环,该循环有效,显示了从CMS输入字段循环并挂接的所有数据。
我的问题出在页脚中,我有一个while循环显示链接,但不会显示除非,我从主页上删除了while循环,然后链接显示在页脚中。 / p>
我诚恳地弄明白为什么这种情况会在经过测试的配发中得到解决,请帮忙解决这个问题。
主页代码:
<?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(); ?>
我只想添加,即使实现了主页while循环,页脚也不会显示vardump()
,因此它永远不会进入页脚循环。页脚使用ACF选项页-> LINK
页脚中的所有其他选项字段(如果不在while循环中)也会显示。我先删除了while循环的首页,然后删除了footer while循环,但这仅在灵活的内容下发生,而我的其他带有循环的页面则完全由灵活的内容组成。
答案 0 :(得分:0)
所以这个问题已经解决了,在与ACF的人员联系后,他们复制了我所做的事情,但是无法重现我的问题。
自从我有了最新的Wordpress(版本4.9.7)以来,我就想到了什么,唯一的区别是托管。
我在localhost上使用的是XAMP版本3.2.2,我不认为这是问题所在,但是确实如此,因此已升级到实时服务器,并且一切正常,因此对于将来如果您遇到这些无法解释的简单代码错误,请检查托管或升级。