高级自定义字段是一个免费的WordPress插件,充当自定义字段的GUI层。自定义字段是WP的原生字段,显示在页面,帖子和自定义帖子类型上,但本机自定义字段界面不是非常用户友好。 ACF使用字段组附加字段以编辑屏幕。
WordPress ACF 中继器字段 > 单选按钮值和 babel
我有一个中继器字段,其中有一个无线电字段。我需要输出标签和值。 在 ACF 字段中,我输入值:标签,例如: 红色:红地毯 绿色:绿叶 我尝试了一段代码: ...
我使用 WordPress 创建了自定义帖子类型,它们也有类别。 我想为这个帖子制作产品,这样用户就可以在帖子页面下订单并能够管理它...
在 ACF 字段的自定义日期修改 Woocommerce 订单状态
我们在 Woocommerce 订单中添加了一个 ACF 字段,用于存储应向客户发送提醒的日期(日期为日/月/年的文本字段,字段 ID 为“提醒”)。想要更改订单状态...
我想在单个产品页面上显示一些自定义选择的相关产品。我正在使用带有“关系”字段的 ACF 插件。我正在尝试这段代码,但它返回当前的产品价格,而不是......
我正在帮助一位朋友使用 WordPress 编写一个电影网站。他想在每个电影页面上显示电影节目(使用高级自定义字段、中继器字段),如下所示: 前三位演员(有...
我已成功使用下面的代码通过自定义字段正确订购。 然而,在我想要的类别页面上,它列出了所有类别的所有帖子,而不是
WP Grid Builder 从自定义字段(ACF 库)填充网格
我想从 ACF Gallery 字段填充 WPGRIDBUILDER 网格。 支持人员告诉我: 网格仅适用于 WOrdPress 内容类型:(自定义)帖子类型、(自定义)分类术语和 WordPress 用户。 ...
我尝试设置自动显示一个人的年龄,就像维基百科一样,使用 ACF 日期字段。 示例(法语):1990 年 5 月 17 日 (33 ans) 这是我的代码: 我尝试使用 ACF 日期字段设置自动显示一个人的年龄,就像维基百科那样。 示例(法语):1990 年 5 月 17 日(33 ans) 这是我的代码: <?php echo get_field( 'person-birthday', $post->ID ); ?> //display the date in 'j F Y' format. <?php $date_string = get_field( 'person-birthday', $post->ID ); $date = DateTime::createFromFormat( 'Ymd', $date_string ); $birthday = new DateTime( $date ); $interval = $birthday->diff( new DateTime ); echo '(' .$interval->y.' ans)'; ?> 我的问题是年龄总是显示“0”。我的代码有问题吗? 提供的代码的问题是 $birthday 变量被设置为新的 DateTime 对象,并将 $date 变量作为参数传递,这是不必要的,因为 $date 已经是 DateTime 对象。此外,$interval 变量被设置为 $birthday 和新的 DateTime 对象之间的差异,这是不正确的,因为 $birthday 已经是代表该人生日的 DateTime 对象。 要解决该问题,代码应修改如下: <?php $date_string = get_field( 'person-birthday', $post->ID ); $date = DateTime::createFromFormat( 'Ymd', $date_string ); $interval = $date->diff( new DateTime ); echo '(' .$interval->y.' ans)'; ?> 此代码应根据 ACF 日期字段中存储的生日正确计算此人的年龄。如果问题仍然存在,可能需要检查 ACF 字段中的日期格式是否与 createFromFormat 函数中指定的格式匹配。
我正在使用 Wordpress 的高级自定义字段并尝试在组内循环转发器。我得到的只是“注意:数组到字符串的转换......” 出了什么问题以及如何修复它? 我正在使用 Wordpress 的高级自定义字段并尝试在组内循环转发器。我得到的只是“注意:数组到字符串的转换......” 出了什么问题以及如何解决? <?php if( have_rows('start_horlurar') ): while ( have_rows('start_horlurar') ) : the_row(); ?> <?php $horlur = get_sub_field('horlur'); ?> <?php if( have_rows( $horlur['arsmodeller_lankar']) ): while ( have_rows($horlur['arsmodeller_lankar']) ) : the_row(); ?> <?php echo get_sub_field('lank'); ?> <?php endwhile; endif; ?> <?php endwhile; endif; ?> 我相信这个答案是正确的,但对于那些寻求通用实现的人来说似乎还不够清楚。 <?php if( have_rows('your_group') ): while ( have_rows('your_group') ) : the_row(); if( have_rows('your_repeater') ): while ( have_rows('your_repeater') ) : the_row(); echo get_sub_field('repeater_sub_field'); endwhile; endif; endwhile; endif; ?> 通常,对于组,您可以通过使用以下方式到达特定子字段: <?php $group_var = get_field['your_group']; $group_sub_field_var = $group_var['group_sub_field'] ?> 但是,似乎对于嵌套在组内的中继器,您无法使用此策略,并且被迫首先使用 have_rows() 循环遍历组,甚至到达中继器。 如果您查看 ACF 上的 group 文档,它会提到如何像中继器一样循环访问组。此外 have_rows() 文档 还提供了有关使用 have_rows() 嵌套循环的更多详细信息。 我发现双环很乱而且不需要。 我意识到这已经很旧了,但我只是遇到了这个问题并且不想有两个循环。 对于我的组('group')和我的中继器('repeater'),带有子字段('subfield'),这就是我所做的。 $group = get_field('group'); $repeaters = $group['repeaters']; foreach($repeaters as $repeater) { echo $repeater["subfield"]; } 超级简单,而且干净多了。如果需要,您可以添加“if”语句,而不是控制我的必填字段。 我发现这种方法对于快速和肮脏来说很重要。我几乎对所有事情都使用组,以便能够为后端的自定义字段创建更好的用户体验。我的大多数自定义字段都是分组并获取参数,我希望它的代码尽可能少且尽可能干净。 如果你们发现此方法有任何问题,尤其是在性能方面,请告诉我。 在嵌套的 ACF 中继器中,您无需添加父中继器的引用 - 只需添加中继器名称即可。尝试这样。 <?php if( have_rows('start_horlurar') ): while ( have_rows('start_horlurar') ) : the_row(); echo get_sub_field('horlur'); if( have_rows('arsmodeller_lankar') ): while ( have_rows('arsmodeller_lankar') ) : the_row(); echo get_sub_field('lank'); endwhile; endif; endwhile; endif; ?> 更新代码: 您也需要像 ACF Repeater 一样循环 ACF Group 字段。尝试这样。 <?php if( have_rows('start_horlurar') ): while ( have_rows('start_horlurar') ) : the_row(); if( have_rows('horlur') ): while ( have_rows('horlur') ) : the_row(); if( have_rows('arsmodeller_lankar') ): while ( have_rows('arsmodeller_lankar') ) : the_row(); echo get_sub_field('lank'); endwhile; endif; endwhile; endif; endwhile; endif; ?> 我这样格式化,我觉得这样干净多了: <?php if(have_rows('features_repeater')): while(have_rows('features_repeater')): the_row(); if(have_rows('features_group')): while(have_rows('features_group')): the_row(); ?> <h1><?php echo get_sub_field('title'); ?></h1> <?php endwhile; endif; endwhile; endif; ?> 此代码可以与一组中的一个或两个中继器配合使用 <?php if (have_rows('your_group_name')): ?> <?php while (have_rows('your_group_name')): the_row(); if (have_rows('your_repeater_name')): ?> <ul> <?php while (have_rows('your_repeater_name')): the_row(); $your_repeater_item = get_sub_field('your_repeater_item'); ?> <li><?php echo $your_repeater_item; ?></li> <?php endwhile; ?> </ul> <?php endif; ?> <?php endwhile; ?> <?php endif; ?> 如果您在组字段中使用两个中继器,只需复制此代码两次并替换变量名称即可。我希望这段代码可以帮助别人。
WP - ACF 和自定义主题 - 如何显示我网站其他页面的现有自定义字段?
我有兴趣在另一个页面上重用一个页面中的自定义字段,同时保留其样式和结构。本质上,我想将一个字段从一个 ACF 组复制到另一个 ACF 组,以确保...
我确实大量使用了 ACF 的选项页面和中继器字段。 为了减少查询量(从大约 500 到 80),我在 Wordpress 的帮助下缓存了一些字段输出
我想通过过滤添加了高级自定义字段的自定义元来查询我的帖子。这是一个布尔元,所以每个帖子都会有类似的内容: 获取http://localhost/wp-json/wp/v2/p...
高级自定义字段未捕获错误:调用未定义的函数 get_field()
我认为我们收到此错误是由于高级自定义字段插件被停用。问题是我们现在无法激活它,因为我们甚至无法访问管理仪表板。 任何帮助都会
在wordpress中,使用ACF,将任何字段设置为只读前面
首先让我澄清两件事: 我所说的前面是指任何客户端渲染,而不是服务器端操作。例如,它可以是编辑帖子的管理面板。 我所说的只读,实际上是...
如何在 Elementor Pro 帖子小部件中显示 ACF 关系字段元素?
我正在创建使用 Elementor Pro 构建的网站的百科全书部分。我使用 ACF 创建了一个名为“Encyclopedia”的自定义帖子类型。每个百科帖子都有ACF关系
在 WooCommerce 3+ 中随处显示 ACF 产品自定义字段
我正在使用 WooCommerce 和高级自定义字段 (ACF) 插件构建网站。我创建了两个 ACF 自定义字段,名称分别为“plant”和“amount”。 我正在尝试展示它们...
我已搜索但无法找到此计算器的公式。 https://www.saltyunderground.com/support/berghia-calculator.html 打开源代码页面并找到公式,然后用于创建自定义计算...
我有这个REST数据: [{"id":215,"acf":{"stad":{"value":"巴塞罗那","label":"巴塞罗那"},"description":"","images":[{"ID ":191,"id":191,"标题":"logo-black.png","文件名":"logo-black.png","filesi...
自定义帖子类型的 submenu_page 中的 ACF 字段
我创建了一个名为“经销商”的自定义帖子类型。在这些经销商中,有一个经销商是独一无二的,需要自己的一组字段和页面。虽然它属于这个类别...
WooCommerce 我的帐户订单的附加列中的产品 ACF 值为空
这里有新海报,希望格式正确。我了解 WordPress,但对 php 非常陌生。 想法: 使用自定义字段将页面链接添加到产品中。然后这个字段就得到...