帮助解决语法错误,意外的‘EndWhile’(T_ENDWHILE)

时间:2018-06-12 作者:Emma

我通过一个新客户机继承了一个自定义模板,并且有一段无法通过的代码。它在实时服务器上工作正常,但我无法将站点加载到本地设置中,因为我不断遇到以下错误:

分析错误:语法错误,模板欢迎中出现意外的“endwhile”(T\\u endwhile)。php在线88

最初的开发人员说它与他的文件中的代码匹配,他没有任何问题,所以我很困惑。

我正在Windows上运行XAMPP。如果我注释掉第一个endwhile语句,我会得到相同的错误,但引用的是代码下面的一行。我认为endwhile已经与if语句解耦,但我看不出如何修复它。

有什么建议吗?从原始if到endwhile语句的代码部分复制到下面。

<?php
// check if the repeater field has rows of data
if (have_rows(\'sections\')):
    // loop through the rows of data
    $section_counter = 1;
    while (have_rows(\'sections\')) : the_row();
        ?>
        <div class="row">
            <div class="col-md-12">
                <h3 class="heading"><?php the_sub_field(\'section_title\'); ?></h3>
                <?php the_sub_field(\'section_content\'); ?>
                <?
                $section_slider_images = get_sub_field(\'section_slider\');
                ?>
                <div class="home-section-slider owl-carousel owl-theme">
                    <?php
                    foreach ($section_slider_images as $image) {
                        ?>
                        <div class="item"><img class="lazyOwl"
                             data-src="<?php echo $image[\'url\']; ?>"
                                  alt="<?php echo $image[\'alt\']; ?>"
                                  title="<?php echo $image[\'title\']; ?>"></div>
                        <?
                    }
                    ?>
                </div>
            </div>
        </div>
        <?php
        $section_counter++;
    endwhile;
else :
    // no rows found
endif;
?>

1 个回复
最合适的回答,由SO网友:Zakalwe 整理而成

检查您的short_open_tag 正在设置php.ini. 你在这个代码中有一个混合物。如果关闭该设置,则可能是使用短标记的语句未被解析。

这尤其可能导致循环“不同步”

                        <?
                }
                ?>
如果short\\u open\\u tags处于禁用状态,则foreach 循环将不会循环并遇到endwhile 过早地。

结束

相关推荐

functions php file

好的,我正在编辑我的函数。Wordpress中的php文件(关于我的子主题),我删除了一行代码(在删除之前我复制了代码)。这导致了白色的死亡屏幕,所以我简单地粘贴回我删除的代码(是的,我将它粘贴回我删除它的位置),但我仍然有白色的死亡屏幕。我已经完成了这些功能。我上周完成的一个备份中的php文件(功能齐全),并通过FTP将其上载到正确的文件夹,但没有任何效果。我已经尝试再次激活父主题,并创建了另一个子主题,以便比较这两个功能。php文件(将全新的、有效的子主题与不再工作的原始子主题进行比较),代码看起来是