如何在前端显示ACF(Wordpress)中的复选框和选项?

8iwquhpp  于 2023-03-22  发布在  WordPress
关注(0)|答案(2)|浏览(224)

我有3个复选框字段,我已经在高级自定义字段创建:奖项提名开放奖项提名关闭获奖名单公布
我希望它,使他们都出现在前端,当网页编辑器选择复选框在后端一个勾选出现在前端。
我试过使用下面的代码,因为这正是我想要的,但它崩溃了我的网站。

<div>
 <?php
  $field = get_field_object('table_dates');
  $field_key = "field_5d71ca56bf09b";
   if( $field['choices'] ): ?>
   <ul>
    <?php foreach( $field['choices'] as $value => $label ): ?>
     <li><?php echo $label; ?></li>
    <?php endforeach; ?>
    </ul>
  <?php endif; ?>
</div>

这段代码显示了选项,我如何显示刻度,就像它出现在后端一样?

5cnsuln7

5cnsuln71#

我对你的代码做了一点修改,使get_field_object()包含当前的post id(假设你的代码在The Loop中)。这样你就可以访问$field['value']数组中当前选中的项。
还添加了if语句,将类“active”添加到所有选中的li元素中。

<div>
 <?php               
 $field = get_field_object('field_5d71ca56bf09b', get_the_ID());
 if( $field['choices'] ): ?>
  <ul>
   <?php foreach( $field['choices'] as $value => $label ): ?>
    <li <?php echo ( in_array($value, $field['value']) ? 'class="active"' : '' ) ?>><?php echo $label; ?></li>
   <?php endforeach; ?>
  </ul>
 <?php endif; ?>
</div>
z0qdvdin

z0qdvdin2#

有一种方法可以只显示“选中”的选项?enter image description here
我已经检查了一些声音,但在这种情况下,代码显示所有!

相关问题