我在wordpress中使用高级自定义字段Checkbox功能。
我创建了一个<ul>
,其中包含四个<li>
<ul class="post-icons">
<li class="microphone" title="Alt text"></li>
<li class="video" title="Alt text"></li>
<li class="text" title="Alt text"></li>
<li class="image" title="Alt text"></li>
</ul>
我在高级自定义字段中创建了四个复选框。如果我在class="(here)"
。
<?php echo implode(' ', get_field('field_name')); ?>
它会将复选框的值打印到类“”上,但它会打印我创建的所有四个复选框值。我只想在正确的地方打印出正确的。
最好的方法是使用.active
类,但高级自定义字段不允许多个Checkbox具有相同的值。我的意思是,如果您在图片和文字上选中复选框,则会在
.active
或其他内容
<li class="image" title="Alt text"></li> and
<li class="text" title="Alt text"></li>
Like = <li class="image active" title="Alt text"></li> and <li class="text active" title="Alt text"></li>
我有四个复选框
四个<li>
- <li class="video"></li>
- <li class="text"></li>
- <li class="microphone"></li>
- <li class="image"></li>
麦克风=声音
我想在右侧.active
<li>
项目上打印class""
。选中相应的复选框时
我将链接到高级自定义字段的文档Checkbox我不太了解如何创建我的项目所需的东西。
答案 0 :(得分:5)
“问题”中存在哪些字段并不是很清楚。
如果是复选框字段(选中PHP ternary operator):
// If checked, the string is 'active', otherwise empty
$image = ( get_field( 'image_field' ) ) ? 'active' : '';
$video = ( get_field( 'video_field' ) ) ? 'active' : '';
<li class="image <?php echo $image; ?>" title="Alt text"></li>
<li class="video <?php echo $video; ?>" title="Alt text"></li>
但是,更好的是Select field允许多项选择(检查PHP in_array):
$get_field = get_field( 'field_name' );
$image = in_array( 'image', $get_field) ? 'active' : '';
$video = in_array( 'video', $get_field) ? 'active' : '';
<li class="image <?php echo $image; ?>" title="Alt text"></li>
<li class="video <?php echo $video; ?>" title="Alt text"></li>