【问题标题】:WordPress Advanced Custom Fields Get value from Checkbox Within RepeaterWordPress 高级自定义字段从中继器中的复选框获取值
【发布时间】:2014-11-02 09:36:21
【问题描述】:

我不知道如何获取在转发器字段中输入的复选框的值。只有一种选择。基本上,如果用户勾选复选框,它应该输出一个类。

在代码示例中,我还没有类中的值,因为我只是想让它打印一些东西!参数。

感谢您的任何帮助,我很感激!

<?php if( have_rows( 'milestone_module' ) ) : ?>

<section id="tao-timeline">

    <?php 

        while( have_rows( 'milestone_module' ) ) : the_row(); 
        // Vars
        $milestone_module_date = get_sub_field( 'milestone_module_date' );
        $milestone_module_copy = get_sub_field( 'milestone_module_copy' );
        $field = get_field_object('milestone_long_date');
        $value = get_field('milestone_long_date');
        $label = $field['choices'][ $value ];
    ?>

    <div class="tao-timeline-block">
        <?php if( $milestone_module_date ) : ?>
            <span class="tao-timeline-date">
                <?php echo $label; ?>
                <?php echo $milestone_module_date; ?>
            </span><!--/.tao-timeline-date-->
        <?php endif; ?>

        <?php if( $milestone_module_copy ) : ?>
            <div class="tao-timeline-content">
                <?php echo $milestone_module_copy; ?>
            </div><!--/.tao-timeline-content-->
        <?php endif; ?>

    </div><!--/.tao-timeline-block-->

    <?php endwhile; wp_reset_postdata(); ?>

</section><!--/#tao-timeline-->

<?php endif; ?>

更新了真/假的代码,仍然无法正常工作......

<?php if( have_rows( 'milestone_module' ) ) : ?>

                        <section id="tao-timeline">

                            <?php 

                                while( have_rows( 'milestone_module' ) ) : the_row(); 
                                // Vars
                                $milestone_module_date = get_sub_field( 'milestone_module_date' );
                                $milestone_module_copy = get_sub_field( 'milestone_module_copy' );
                            ?>

                            <div class="tao-timeline-block">
                                <?php if( get_field('milestone_long_date') ) { ?>
                                    <span class="tao-timeline-date long-date">
                                        <?php echo $milestone_module_date; ?>
                                    </span><!--/.tao-timeline-date-->
                                <?php } else { ?>
                                    <span class="tao-timeline-date">
                                        <?php echo $milestone_module_date; ?>
                                    </span><!--/.tao-timeline-date-->
                                <?php } ?>

                                <?php if( $milestone_module_copy ) : ?>
                                    <div class="tao-timeline-content">
                                        <?php echo $milestone_module_copy; ?>
                                    </div><!--/.tao-timeline-content-->
                                <?php endif; ?>

                            </div><!--/.tao-timeline-block-->

                            <?php endwhile; wp_reset_postdata(); ?>

                        </section><!--/#tao-timeline-->

                    <?php endif; ?>

【问题讨论】:

  • 是类在值中,还是勾选了是一个设定值?
  • 如果选中该框,则设置一个值。如果未选中该框,则不会打印任何课程。该类将是 .long-date,如果他们不选中该框,则不会添加该类。
  • 所以你的意思是它是一个真/假字段?见advancedcustomfields.com/resources/true-false
  • 是的,这是真/假。也许我设置错了?
  • 是的......你的东西被编码成一个复选框(它有一个选项)。真/假是不同的。它的行为类似于“if”语句。哪个字段是真/假,我也许可以帮助您重组。

标签: wordpress checkbox advanced-custom-fields


【解决方案1】:

克里斯,我很确定这就是你可以让它工作的方式(仅适用于真/假部分):

  <?php if (get_sub_field('milestone_long_date') == true) { ?>
      <span class="tao-timeline-date long-date">
      <?php echo $milestone_module_date; ?>
      </span><!--/.tao-timeline-date-->
  <?php } else { ?>
       <span class="tao-timeline-date">
       <?php echo $milestone_module_date; ?>
       </span><!--/.tao-timeline-date-->
  <?php } ?>

否则,如果你有一个无线电场,我知道它的代码。我不必使用真/假。

如果是是/否单选按钮:

<?php $long-date = get_sub_field('milestone_long_date');  ?>

 <?php if ($long-date == 'Yes') { ?>
           <span class="tao-timeline-date long-date">
          <?php echo $milestone_module_date; ?>
          </span><!--/.tao-timeline-date-->
<?php } else { ( $long-date == 'No' ) ?>
         <span class="tao-timeline-date">
        <?php echo $milestone_module_date; ?>
         </span><!--/.tao-timeline-date-->
<?php }; ?>

我知道收音机会工作。我必须对真/假进行一些测试才能确认。

【讨论】:

  • true/false 仍然不起作用,我将选择单选按钮方向。无论哪种方式,它都不会对用户产生太大影响。我会报告进展情况。感谢 Aibrean 的帮助!
  • 对于真/假我忘了...你在中继器中,它需要是 get_sub_field!如果您将 get_sub_field 用于 if/else,您帖子中的代码可能会起作用。
  • get_sub_field 完美运行!太棒了,谢谢艾布瑞恩!非常感谢您的帮助。
  • 当我醒来的时候,它突然出现了。我有一个本富兰克林的时刻:)
猜你喜欢
  • 1970-01-01
  • 2018-08-15
  • 2016-05-31
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多