【问题标题】:ACF wordpres: Foreach: data-type = 'group'ACF wordpres: Foreach: data-type = 'group'
【发布时间】:2020-06-02 16:54:43
【问题描述】:

我在使用 foreach 时遇到了问题,其中 data-type = ‘group’。 我有几个“组”类型的字段。在每个组中,我都有子字段:照片和所见即所得编辑器。我希望循环返回到:<div class "slider-nav-box-big">,一组字段,但我不知道如何在循环中引用数组以及如何定义特定类型的值,例如图像,所见即所得,而不是价值本身。 我可以用不同的方式定义价值吗? 我有这个:

<?php

        $fields = get_field_objects();

        ?>

        <?php if ($fields): ?>
            <div class="slider slider-for">
                <?php foreach ($fields as $field): ?>

                    <?php if ($field['value']): ?>
                        <div class="slider-nav-box-big" id="<?php echo $field['name']; ?>">
                            <div class="col-md-4 col-sm-12 col-12 slider-for-img">
                                <img src="<?php echo $field['value']; ?>" alt="">
                            </div>
                            <div class="col-md-8 col-sm-12 col-12 slider-for-description">
                                <p>
                                    <span><?php echo $field['label']; ?></span>
                                    <?php echo $field['wysiwyg']; ?>
                                </p>
                            </div>
                        </div>
                    <?php endif; ?>

                <?php endforeach; ?>
            </div>
        <?php endif; ?>

$field[‘value’] 显然返回一个空数组,而$field[‘wysiwyg’] 根本不起作用。

【问题讨论】:

    标签: wordpress foreach advanced-custom-fields


    【解决方案1】:

    ACF 实际上提供了如何使用组和显示所述数据的示例。

    他们的文档可以在这里找到如何做到这一点 - https://www.advancedcustomfields.com/resources/group/

    【讨论】:

    • 是的,我知道这个文档,但这些是具有特定名称的特定组的示例,我需要一些循环来丢弃所有组。我有一个解决方案 - 切换。我在下面给出。
    【解决方案2】:

    我已经有了解决方案,如果其他人需要,我会提供。 我不得不使用 foreach 循环中的开关来检查字段类型,如下所示:

    <?php
    $fields = get_field_objects();
    if( $fields ): ?>
        <ul>
            <?php foreach( $fields as $field ): ?>
                <?php
    
                 switch ($field['type']) {    
                     case "image":        
                     //do something for images      
                     break;    
    
                     case "wysiwyg":        
                     //do something here      
                     break;    
    
                     case "file":        
                     //do something here      
                     break;    
    
                     default:        
                     //end
                    }?>
    
            <?php endforeach; ?>
        </ul>
    <?php endif; ?>
    

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 2019-02-03
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 2017-08-06
      • 2018-05-09
      • 2023-03-08
      相关资源
      最近更新 更多