Php 在前面显示来自ACF(Wordpress)的复选框值

Php 在前面显示来自ACF(Wordpress)的复选框值,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我在显示用ACF创建的复选框值时遇到一些问题。 我用ACF制作了一组12个复选框,每个复选框都是一个月: 一月:一月/二月:二月/三月:三月/等等 我需要实现的是在前端显示所有这12个值,如果在后端检查了月份,则使用特定的CSS类。例如,如果用户选中“一月”、“四月”、“七月”和“九月”: Jan 二月 破坏 四月 也许 六月 七月 以前 九月 十月 十一月 12月 使用docs()中的示例代码,我只获取前端中选定的月份,而不是所有月份: <span>Jan</span>

我在显示用ACF创建的复选框值时遇到一些问题。 我用ACF制作了一组12个复选框,每个复选框都是一个月: 一月:一月/二月:二月/三月:三月/等等

我需要实现的是在前端显示所有这12个值,如果在后端检查了月份,则使用特定的CSS类。例如,如果用户选中“一月”、“四月”、“七月”和“九月”:

Jan
二月
破坏
四月
也许
六月
七月
以前
九月
十月
十一月
12月
使用docs()中的示例代码,我只获取前端中选定的月份,而不是所有月份:

<span>Jan</span>
<span>Apr</span>
<span>Jul</span>
<span>Sep</span>
Jan
四月
七月
九月

请检查下面的代码并输出它对您有帮助

<?php $allCheckbox = get_field('month_checked_boxes'); //Checked value from backend

$field_key = "field_593f77cdc5068"; //Get value using key
$post_id = get_the_ID();
$field = get_field_object($field_key, $post_id);
foreach($field['choices'] as $lab => $val){
if(in_array($val, $allCheckbox)){
    $checked = 'checked = "checked"';   
    $enable = '';       
} else {
    $checked = '';
    $enable = 'disabled=""';
} ?>
<input type="checkbox" name="month" id="month" value="<?php echo $lab; ?>" <?php echo $enable; ?> <?php echo $checked; ?> /><?php echo $val; ?><br>


请检查下面的代码,并输出它帮助您

<?php $allCheckbox = get_field('month_checked_boxes'); //Checked value from backend

$field_key = "field_593f77cdc5068"; //Get value using key
$post_id = get_the_ID();
$field = get_field_object($field_key, $post_id);
foreach($field['choices'] as $lab => $val){
if(in_array($val, $allCheckbox)){
    $checked = 'checked = "checked"';   
    $enable = '';       
} else {
    $checked = '';
    $enable = 'disabled=""';
} ?>
<input type="checkbox" name="month" id="month" value="<?php echo $lab; ?>" <?php echo $enable; ?> <?php echo $checked; ?> /><?php echo $val; ?><br>


谢谢你的回答。您的代码显示所有12个复选框,但所有复选框在前端始终显示为禁用和未选中,尽管我在后端选中了其中一些复选框。如果要启用相同的复选框,请从“输入类型”复选框中删除禁用的属性,然后重试。如果我的答案有帮助,请接受我的答案。问题是现在我启用了所有12个复选框。后端标记/选中的复选框(一月、四月、七月和九月)应显示为前端选中,就像输出图像一样。所有其他月份也应显示,但已禁用。请立即检查我编辑的代码,从备份中检查哪些月份仅启用所有其他月份均禁用。谢谢。现在很好用。需要注意的是:ACF中复选框字段前端的返回值必须是“Label”(而不是“value”或“两者/数组”)。感谢您的回答。您的代码显示所有12个复选框,但所有复选框在前端始终显示为禁用和未选中,尽管我在后端选中了其中一些复选框。如果要启用相同的复选框,请从“输入类型”复选框中删除禁用的属性,然后重试。如果我的答案有帮助,请接受我的答案。问题是现在我启用了所有12个复选框。后端标记/选中的复选框(一月、四月、七月和九月)应显示为前端选中,就像输出图像一样。所有其他月份也应显示,但已禁用。请立即检查我编辑的代码,从备份中检查哪些月份仅启用所有其他月份均禁用。谢谢。现在很好用。需要注意的是:ACF中复选框字段前端的返回值必须是“Label”(而不是“value”或“两者/数组”)。