我目前正在使用ACF复选框作为临时项目,并决定将FontAwesome图标添加到输出中。 我尝试将图标添加到ACF值中,但未显示任何内容,这是我(更长的时间)尝试使用图标生成图标。
我当前的代码是
<?php
$provisions = get_sub_field('activity_provisions');
if ($provisions):
?>
<h3>We provide</h3>
<div>
<ul>
<?php if (in_array('Experienced guide', $provisions)): ?>
<li><i class='fas fa-link fa-4x'> </i> Experienced guide</li>
<?php elseif (in_array('Shower facilities', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Shower facilities</li>
<?php elseif (in_array('Locker or waterproof bag', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Locker or waterproof bag</li>
<?php elseif (in_array('Experienced guide', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Life jackets</li>
<?php elseif (in_array('Experienced guide', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Helmets</li>
<?php elseif (in_array('Experienced guide', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Paddles</li>
<?php elseif (in_array('Experienced guide', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Safety Insurance</li>
<?php elseif (in_array('Experienced guide', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Meal</li>
<?php elseif (in_array('Transport', $provisions)): ?>
<li><i class="fas fa-link fa-4x"> </i> Transport</li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
$ provisions输出:
Array (
[0] => Experienced guide
[1] => Shower facilities
[2] => Helmets
[3] => Safety Insurance
[4] => Meal
[5] => Transport
)
我可以打印出第一个值,但是没有其他值,有人可以建议一种更好的方法吗?
提前谢谢! <3
答案 0 :(得分:1)
这是我在对foreach
循环的评论中所描述的内容:
<ul>
<?php foreach( $provisions as $provision ) : ?>
<!-- IF STATEMENTS HERE -->
<?php if ( $provision === 'Experienced guide' ) : ?>
<li><i class='fas fa-link fa-4x'> </i> Experienced guide</li>
<?php elseif ( $provision === 'Shower facilities' ) : ?>
<li><i class='fas fa-link fa-4x'> </i> Shower facilities</li>
<!-- ADD MORE ELSEIFS HERE -->
<?php endif; ?>
<?php endforeach; ?>
</ul>
您只需要遍历数组项以输出所需的内容。我假设图标与数组的值相关(例如,《经验丰富的指南》有其自己的图标),因此您只需要为每个图标更新字体棒的图标即可。