news 2026/9/7 20:17:06

wordpress ACF字段调用方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wordpress ACF字段调用方法

下面把「常用、不常用但有用」的 ACF 字段调用方式一次整理给你,直接复制即可用。

所有示例都假设字段挂在当前页面/文章上;如果在选项页、用户、分类法上,请看第 5 节「其它对象」。

基本语法(PHP 模板文件里)

// 返回值(原始) $val = get_field('field_name'); // 安全输出 echo esc_html(get_field('field_name')); // 带默认值 echo esc_html(get_field('field_name') ?: '暂无内容');

常见字段类型速查 | 字段类型 | 直接 echo 会得到 | 常用写法 |

|—|—|—|

| Text / Textarea / Number | 字符串 | echo esc_html(get_field(‘tx’)); |

| Image (返回数组) | 数组 | echo wp_get_attachment_image(get_field(‘img’)[‘ID’], ‘medium’); |

| Image (返回 URL) | 字符串 | ” /> |

| File | 数组 | 下载 | | Select (单选) | 单个值 | echo esc_html(get_field(‘color’)); |

| Select (多选) | 数组 | echo implode(‘, ‘, get_field(‘colors’)); |

| Checkbox | 数组 | 同上 | | True / False | bool | if (get_field(‘show_banner’)): … endif; |

| Wysiwyg | 已格式化 HTML | echo apply_filters(‘the_content’, get_field(‘intro’)); |

| Date Picker | Ymd | echo DateTime::createFromFormat(‘Ymd’, get_field(‘date’))->format(‘Y-m-d’); |

| Color Picker | hex | style=”color:;” |

| Repeater | 数组 | 见第 3 节 |

| Flexible Content | 数组 | 见第 4 节 |

| Group | 数组 | echo esc_html(get_field(‘group’)[‘sub_field’]); |

Repeater / 嵌套循环

<?php if (have_rows('slides')): ?> <div class="swiper-wrapper"> <?php while (have_rows('slides')): the_row(); ?> <div class="swiper-slide"> <img src="<?php echo esc_url(get_sub_field('slide_img')['sizes']['large']); ?>" /> <h3><?php echo esc_html(get_sub_field('slide_title')); ?></h3> </div> <?php endwhile; ?> </div> <?php endif; ?>

子字段用 get_sub_field() / the_sub_field()

支持无限嵌套 repeater。

Flexible Content(模块化布局)

<?php if (have_rows('sections')): ?> <?php while (have_rows('sections')): the_row(); get_template_part('flex/' . get_row_layout()); // 把每种布局拆成 flex/layout_name.php endwhile; ?> <?php endif; ?>

flex/text.php 例子:

<section class="text-section"> <div class="container"> <?php echo apply_filters('the_content', get_sub_field('text')); ?> </div> </section>

读取其它对象上的字段 | 对象 | 写法 |

|—|—|

| 选项页(Options Page) | get_field(‘field_name’, ‘option’); |

| 用户 | get_field(‘field_name’, ‘user_’ . $user_id); |

| 分类法 | get_field(‘field_name’, ‘term_’ . $term_id); |

| 附件 | get_field(‘field_name’, $attachment_id); |

短代码(让编辑在可视化编辑器里插入)

// 在 functions.php 注册 add_shortcode('acf', function($atts) { $a = shortcode_atts(['field' => '', 'post' => false], $atts); return esc_html(get_field($a['field'], $a['post'])); });

使用:[acf field=”phone”]

如需返回图片:[acf field=”logo” post=”option”] 再自己包< img>。

常用辅助函数

// 直接输出一张图(已含 alt) the_post_thumbnail('medium', ['class' => 'rounded']); // 获取多张图(Gallery 字段) $gallery = get_field('gallery'); foreach ($gallery as $img) { echo wp_get_attachment_image($img['ID'], 'thumbnail'); } // 清除缓存后的新值 wp_cache_flush(); $fresh = get_field('field_name', false, false); // 第三参数 false = 不格式化

调试技巧

<?php // 看整个字段数组 echo '<pre>', htmlspecialchars(print_r(get_field('repeater_name'), true)), '</pre>'; // 看所有自定义字段 echo '<pre>', htmlspecialchars(print_r(get_post_meta(get_the_ID()), true)), '</pre>'; ?>

性能注意

Repeater/Flexible 字段量大时,建议开 「本地 JSON」 或 「字段缓存」(ACF PRO 自动)。

不要在一个循环里反复 get_field(‘option’),先用变量存起来。

一句话总结「当前文章」get_field(‘name’);

「选项页」get_field(‘name’, ‘option’);

「子字段」get_sub_field(‘name’);

「循环」have_rows(‘name’) + while 即可。

以上代码全部实测可用,按场景直接粘贴即可。

原文

https://www.wpniu.com/article/6686.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 18:08:07

OpenMS:解锁质谱数据分析新境界的开源利器

OpenMS&#xff1a;解锁质谱数据分析新境界的开源利器 【免费下载链接】OpenMS The codebase of the OpenMS project 项目地址: https://gitcode.com/gh_mirrors/op/OpenMS 如果你正在寻找一款功能强大且易于使用的质谱数据分析工具&#xff0c;那么OpenMS绝对值得你的关…

作者头像 李华
网站建设 2026/9/3 11:32:25

Obsidian与滴答清单深度整合:构建高效任务笔记联动系统

Obsidian与滴答清单深度整合&#xff1a;构建高效任务笔记联动系统 【免费下载链接】obsidian-dida-sync 滴答清单同步到obsidian(ticktick sync to obsidian) 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-dida-sync 在现代知识工作流程中&#xff0c;任务管…

作者头像 李华
网站建设 2026/9/6 1:17:36

Path of Building终极指南:免费离线构建规划神器完全解析

Path of Building终极指南&#xff1a;免费离线构建规划神器完全解析 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building&#xff08;简称PoB&#xff09;是…

作者头像 李华
网站建设 2026/9/6 1:17:09

3大核心问题诊断:如何用Path of Building PoE2打造完美角色

3大核心问题诊断&#xff1a;如何用Path of Building PoE2打造完美角色 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 还在为《流放之路2》复杂的角色构建而头疼吗&#xff1f;Path of Building PoE2作…

作者头像 李华
网站建设 2026/9/1 22:45:40

树莓派4b硬件SPI驱动编写快速理解

树莓派4b硬件SPI驱动&#xff1a;从寄存器到实战的深度探索你有没有遇到过这种情况&#xff1f;在树莓派上用Python通过spidev读取一个ADC芯片&#xff0c;结果发现采样频率卡在几kHz&#xff0c;数据还时不时跳变。调试半天才发现——不是硬件坏了&#xff0c;是操作系统调度和…

作者头像 李华
网站建设 2026/9/3 13:34:23

Dify镜像快速部署:如何用可视化AI平台降低大模型应用开发门槛

Dify镜像快速部署&#xff1a;如何用可视化AI平台降低大模型应用开发门槛 在企业争相拥抱大模型的今天&#xff0c;一个现实问题摆在面前&#xff1a;如何让没有算法背景的团队也能高效构建可用的AI应用&#xff1f;很多公司投入大量资源组建AI团队&#xff0c;却发现从提示词调…

作者头像 李华