如何检查 Wordpress 高级自定义字段插件中的字段组?

Posted

技术标签:

【中文标题】如何检查 Wordpress 高级自定义字段插件中的字段组?【英文标题】:How to check for field groups in Wordpress Advanced Custom Fields plugin? 【发布时间】:2012-11-26 12:09:39 【问题描述】:

我正在为 Wordpress 使用 acf 高级自定义字段插件。 我正在使用默认输出所有字段组的通用模板。 由于某些字段仅显示在特定页面上,我想确定需要输出哪些字段。 我目前的解决方法如下:

1,我在 后端; 2、我在acf-menu中为“My Field Group”设置了一个角色为 仅显示在例如特定页面(角色也可以是类别等) 3,我创建了一个带有复选框的自定义字段,并且 在始终返回“yes”的“我的字段组”中命名“mygroup”。

4,然后在代码中我可以检查组“我的字段组”是否可用 通过检查自定义字段“mygroup”的值来打开页面。如果是,则返回“我的字段组”的所有字段

代码:

//check if the field group "My Field Group" is available by checking the value of its custom field "mygroup" 
<?php if(get_field('mygroup') == "yes")  ?>
    <div>
        //load all other fields in the field group "My Field Group"
    </div>
<?php  ?>

由于这仅需要一个附加字段来检查该字段组在页面上是否可用(分别确定角色),我想知道是否有更优雅的方式来实现这一点

更新: 以下是程序员的反馈:

ACF 不保存有关特定字段组的任何信息 出现在帖子上,只有字段值。

我相信你的方法是最小的、有效的和聪明的。我会 继续使用。

干杯艾略特

【问题讨论】:

你所说的字段组是什么? “可用”是什么意思?这个复选框放在哪里? 看,您的问题仅从全局上下文的一小部分开始。现在,在 2 个错过的答案之后,总体情况更加清晰。要理解 Q,必须通过 cmets 进行导航。我的建议是您再次编辑 Q 以使其真正可回答。并使用您自己的字段名称,Tim Maia 原本是巴西的复活节彩蛋,但现在让事情变得更加混乱:P IMO,如果您将快照添加到项目 2 和 3,将会非常清楚。 好的,我做到了。你能恢复你的第一个答案吗?我认为很高兴知道谁可以针对特定的领域组,这可能有助于回答我的问题 我把第一版和第二版的Q合并了,是不是解决了大家的疑惑? 【参考方案1】:

为了简单地检查字段 mygroup 是否已启用,请使用:

// call the function only once
$group = get_field('mygroup');

if( $group )  
    ?>
    <div>
        <?php do_your_magic_with_the_other_fields(); ?>
    </div>
    <?php
 

用于检查整个My Field Group

ACF 字段组是存储在wp_posts 表中的自定义帖子类型。此字段组内的字段存储在wp_postmeta 表中。

因此,您必须检查帖子是否存在。

数据库中相同的“字段组”:

点击放大 ⤴


解决方法:使用get_page_by_title()

在我的例子中:

if( get_page_by_title( 'TimMaia', OBJECT, 'acf' ) )

    // Your stuff

【讨论】:

谢谢。这不是编码问题。代码工作正常。我只是想知道如何直接针对 acf-plugin 的字段组(无需创建为每个组设置变量的额外自定义字段) 感谢您让我知道如何定位该组!只有一个问题:if 语句将始终返回字段组“TimMaia”的内容,因为它始终为真(即使某个页面在其页面上不使用该组) 抱歉给您带来了困惑 ;)

以上是关于如何检查 Wordpress 高级自定义字段插件中的字段组?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 高级自定义字段插件未正确输出

关于wordpress高级自定义插件遇到的问题。

wordpress 高级自定义字段 google map api key

php 防止Wordpress在p标签中包装图像和iframe(默认WYSIWYG和高级自定义字段Wordpress WYSIWYG插件)

如何从 WordPress 数据库中获取高级自定义字段字段键?

带有中继器的嵌套选项卡 - 高级自定义字段 Wordpress