如何检查 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 高级自定义字段 google map api key
php 防止Wordpress在p标签中包装图像和iframe(默认WYSIWYG和高级自定义字段Wordpress WYSIWYG插件)