包括带有ACF复选框输出的FontAwesome图标

时间:2019-01-08 21:33:19

标签: php wordpress advanced-custom-fields

我目前正在使用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'>&nbsp;</i> Experienced guide</li>
                <?php elseif (in_array('Shower facilities', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Shower facilities</li>
                <?php elseif (in_array('Locker or waterproof bag', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Locker or waterproof bag</li>
                <?php elseif (in_array('Experienced guide', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Life jackets</li>
                <?php elseif (in_array('Experienced guide', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Helmets</li>
                <?php elseif (in_array('Experienced guide', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Paddles</li>
                <?php elseif (in_array('Experienced guide', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Safety Insurance</li>
                <?php elseif (in_array('Experienced guide', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</i> Meal</li>
                <?php elseif (in_array('Transport', $provisions)): ?>
                    <li><i class="fas fa-link fa-4x">&nbsp;</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

1 个答案:

答案 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'>&nbsp;</i> Experienced guide</li>
         <?php elseif ( $provision === 'Shower facilities' ) : ?>
             <li><i class='fas fa-link fa-4x'>&nbsp;</i> Shower facilities</li>
         <!-- ADD MORE ELSEIFS HERE -->
         <?php endif; ?>
    <?php endforeach; ?>            
</ul>

您只需要遍历数组项以输出所需的内容。我假设图标与数组的值相关(例如,《经验丰富的指南》有其自己的图标),因此您只需要为每个图标更新字体棒的图标即可。