高级自定义字段是一个免费的WordPress插件,充当自定义字段的GUI层。自定义字段是WP的原生字段,显示在页面,帖子和自定义帖子类型上,但本机自定义字段界面不是非常用户友好。 ACF使用字段组附加字段以编辑屏幕。
我正在审核一个 WordPress 网站 - 了解它当前的设置方式以及可以进行哪些改进。我注意到“播客”、“课程”和“目录”没有被创建为...
我正在尝试将两个高级自定义字段的值添加到自定义帖子类型的 WordPress 管理列中。 我已成功添加两列,“销售或包租”列返回...
WooCommerce:根据高级自定义字段在自定义循环中显示价格
我想根据高级自定义字段中关系字段的产品列表创建自定义产品循环。 到目前为止,除了显示产品价格之外,一切正常。 这是我的
Wordpress ACF:在管理中的帖子对象下拉列表中显示帖子 ID
我有两种自定义帖子类型:团队和项目。 在项目的管理部分中,我可以从 acf 帖子对象中选择连接到项目的团队成员,现在我想显示帖子 ID ...
如何使用Advance Custom Field的repeater实现Mark Down编辑器
我想在高级自定义字段的中继器插件中使用带有工具栏的 Markdown 编辑器。
ACF URL 自定义帖子类型和 WordPress 页面链接导航问题
我们的网站之一上有一个页面,该页面输出 WP 查询数据循环,其中包含我们在 ACF 中设置的自定义帖子类型,称为“客户故事”。在我们的 WP 查询中,我们还使用...
我有一个小问题,我需要解决以下问题: $today = current_time('Ymd'); $args = 数组( 'post_type' => '事件', 'posts_per_page' => 3, 'meta_query' => ar...
WordPress 子菜单中的 ACF PRO 分类术语字段
我有一个问题,我似乎找不到正确的方法。 我目前正在开发一个 WordPress 网站,需要一个自定义子菜单。在所述子菜单中,显示类别术语列表...
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...