我在这段代码中不断出现语法错误。
<?php
$day = get_field_object('day_of_the_week');
$value = $day['value'];
$choices = $day['choices'];
if( $value ): ?>
<ul>
<?php foreach( $value as $v ): ?>
<li>
<?php if( $v != $page_title ) { ?>
<a class="btn" href="/venture-centre/activities-2/<?php echo $choices[ $v ]; ?>#<?php echo basename(get_permalink()); ?>">
<?php echo $choices[ $v ]; ?>
</a>
<?php } ?>
</li>
<?php endforeach; ?>
</ul>
<?php } else { ?>
<p>This activity is only available on <?php echo $page_title ?>.</p>
<?php } ?>
<?php endif; ?>
您混合了标准语法和替代语法,这是不允许的:
if( $value ): ?> // start alternative syntax block
<?php } else { ?> // where did this get opened?
您有一个右大括号,没有一个左大括号。
参见</a>
之后的<?php } ?>
您必须删除此行或在每个的后面添加<?php { ?>
感谢所有的评论,我已经做出了建议的更改,并意识到我需要一个elseif
来代替else
来完成我试图实现的目标:
<?php
$day = get_field_object('day_of_the_week');
$value = $day['value'];
$choices = $day['choices'];
if( count($value) > 1 ) { ?>
<ul>
<?php foreach( $value as $v ) { ?>
<li>
<?php if( $v != $page_title ) { ?>
<a class="btn" href="/venture-centre/activities-2/<?php echo $choices[ $v ]; ?>#<?php echo basename(get_permalink()); ?>">
<?php echo $choices[ $v ]; ?>
</a>
</li>
<?php } } } elseif( count($value) == 1 ) { ?>
<p>This activity is only available on <?php echo $page_title; ?>.</p>
<?php } ?>