我知道很多这样的问题,或者可以使用开关,但我的代码不同,我在php中更好。
我的if elseif代码:
<?php if (get_field('num_field') == '1'): ?>
<li><a href="<?php the_field('dl_link1'); ?>"><?php the_field('t_dl_link1'); ?></a></li>
<?php elseif (get_field('num_field') == '2'): ?>
<li><a href="<?php the_field('dl_link1'); ?>"><?php the_field('t_dl_link1'); ?></a></li>
<li><a href="<?php the_field('dl_link2'); ?>"><?php the_field('t_dl_link2'); ?></a></li>
<?php elseif (get_field('num_field') == '3'): ?>
<li><a href="<?php the_field('dl_link1'); ?>"><?php the_field('t_dl_link1'); ?></a></li>
<li><a href="<?php the_field('dl_link2'); ?>"><?php the_field('t_dl_link2'); ?></a></li>
<li><a href="<?php the_field('dl_link3'); ?>"><?php the_field('t_dl_link3'); ?></a></li>
<?php elseif (get_field('num_field') == '4'): ?>
<li><a href="<?php the_field('dl_link1'); ?>"><?php the_field('t_dl_link1'); ?></a></li>
<li><a href="<?php the_field('dl_link2'); ?>"><?php the_field('t_dl_link2'); ?></a></li>
<li><a href="<?php the_field('dl_link3'); ?>"><?php the_field('t_dl_link3'); ?></a></li>
<li><a href="<?php the_field('dl_link4'); ?>"><?php the_field('t_dl_link4'); ?></a></li>
<?php elseif (get_field('num_field') == '5'): ?>
<li><a href="<?php the_field('dl_link1'); ?>"><?php the_field('t_dl_link1'); ?></a></li>
<li><a href="<?php the_field('dl_link2'); ?>"><?php the_field('t_dl_link2'); ?></a></li>
<li><a href="<?php the_field('dl_link3'); ?>"><?php the_field('t_dl_link3'); ?></a></li>
<li><a href="<?php the_field('dl_link4'); ?>"><?php the_field('t_dl_link4'); ?></a></li>
<li><a href="<?php the_field('dl_link5'); ?>"><?php the_field('t_dl_link5'); ?></a></li>
<?php else: ?>
<?php endif; ?>
如何优化此代码?
由于
答案 0 :(得分:3)
使用循环。
<?php
$end = get_field('num_field');
for ($i = 1; $i <= $end; $i++) { ?>
<li><a href="<?php the_field('dl_link' . $i); ?>"><?php the_field('dl_link' . $i); ?></a></li>
<?php
}
答案 1 :(得分:0)
$a = get_field('num_field');
if($a => 1 && $a <= 5) {
for($i = 1; $i <= $a; $i++) {
?>
<li><a href="<?php the_field('dl_link'.$i); ?>"><?php the_field('t_dl_link'.$i); ?></a></li>
<?php
}
}
答案 2 :(得分:-1)
$num_field = get_field('num_field');
for($i=1; $i < $num_field; $i++) {
echo '<li><a href="'.the_field('dl_link'.$i).'">'.the_field('t_dl_link'.$i).'</a></li>';
}