我有一些不在页面上呈现的代码。有人知道这是什么问题吗?
<div class="b b--alt">
<div class="container">
<div class="tab-widget tab-widget--team js-tab-widget">
<?php if( have_rows('the_commusoft_story') ) { ?>
<?php $i = 0; ?>
<ul class="tab-widget__list">
<?php while( have_rows('the_commusoft_story') ): the_row(); ?>
<?php $i++ ?>
<li class="tab-widget__item">
<a href="#tab-panel-<?php echo $i; ?>" class="tab-widget__link">
<span class="ss-icon <?php the_sub_field('icon'); ?>"></span>
<h2><?php the_sub_field('section_title'); ?></h2>
<?php the_sub_field('section_description'); ?>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php }; ?>
<?php if( have_rows('the_commusoft_story') ) { ?>
<?php $i = 0; ?>
<div class="tab-widget__tabs">
<?php while( have_rows('the_commusoft_story') ): the_row(); ?>
<?php $i++ ?>
<div class="tab-widget__tab-content">
<h2 id="tab-panel-<?php echo $i; ?>"><?php the_sub_field('section_title'); ?></h2>
<?php the_sub_field('content'); ?>
</div>
<?php endwhile; ?>
</div>
<?php }; ?>
</div>
</div>
</div>
页面上有两个部分,当我尝试将其作为第二部分移动时出现问题并且它消失了......
知道发生了什么,以及错误在哪里?
谢谢
答案 0 :(得分:0)
您的代码肯定会被简化。我删除了额外的IF语句 - 这不是必需的。我还为$i++
运算符添加了行终止:
<div class="b b--alt">
<div class="container">
<div class="tab-widget tab-widget--team js-tab-widget">
<?php if( have_rows('the_commusoft_story') ) : ?>
<?php $i = 0; ?>
<ul class="tab-widget__list">
<?php while( have_rows('the_commusoft_story') ): the_row(); ?>
<?php
$i++; // This starts at 1.
?>
<li class="tab-widget__item">
<a href="#tab-panel-<?php echo $i; ?>" class="tab-widget__link">
<span class="ss-icon <?php the_sub_field('icon'); ?>"></span>
<h2><?php the_sub_field('section_title'); ?></h2>
<?php the_sub_field('section_description'); ?>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php $i = 0; ?>
<div class="tab-widget__tabs">
<?php while( have_rows('the_commusoft_story') ): the_row(); ?>
<?php
$i++;
?>
<div class="tab-widget__tab-content">
<h2 id="tab-panel-<?php echo $i; ?>"><?php the_sub_field('section_title'); ?></h2>
<?php the_sub_field('content'); ?>
</div>
<?php endwhile; ?>
</div>
<?php endif; ?>
</div>
</div>
</div>
理论上,这应该是一段有效的代码。所以 - 如果我写的不适合你;我建议检查PHP错误,或者可能寻找CSS样式冲突。
请告诉我们你的表现:)