ACF wordpres: Foreach: data-type = 'group'

Posted

技术标签:

【中文标题】ACF wordpres: Foreach: data-type = \'group\'【英文标题】: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']; ?>" >
                            </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’] 根本不起作用。

【问题讨论】:

【参考方案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; ?>

【讨论】:

以上是关于ACF wordpres: Foreach: data-type = 'group'的主要内容,如果未能解决你的问题,请参考以下文章

返回所有带有 ACF 字段和 foreach 循环的数组值

在 foreach 循环中获取 ACF 字段数据 - wordpress

php conversiune url youtube e relativo codice per generare gallery con ACF a partire da un campo tes

如何检索 ACF 中字段的值?

ACF 更新字段到嵌套转发器字段

将 <c:forEach> 与 HashMap 一起使用 [重复]