ACF高级自定义字段怎么用?
学完这篇,你能在 WordPress 后台用 ACF 创建自定义字段,并在主题模板里安全输出这些字段的值。下面以 WordPress 6.5.2 + ACF 6.2.6 为例,从安装讲到模板调用。
第一步:安装并启用 ACF
这一步要拿到 ACF 插件入口,做完后左侧菜单会出现“ACF”菜单项。
免费版:登录 WordPress 后台,左侧点“插件” → “安装插件”,在右上搜索框输入 Advanced Custom Fields,找到“Advanced Custom Fields”卡片,点“现在安装”,按钮变成“启用”后点“启用”。
Pro 版:左侧点“插件” → “安装插件” → 顶部“上传插件” → “选择文件”,选中 advanced-custom-fields-pro.zip → “现在安装” → “启用插件”。
注意:免费版没有“重复器”“灵活内容”“选项页”这些字段类型,需要 Pro 版。不要混用破解版,容易带后门。
第二步:创建字段组并添加字段
这一步要建一个字段组,做完后你会在文章编辑页看到自定义字段输入框。
左侧点“ACF” → “字段组” → “新建字段组”。顶部“标题”填“文章额外信息”。在“字段”区域点“+ 添加字段”,字段标签填“副标题”,字段名称自动生成 subtitle,字段类型下拉选“文本”。再点“+ 添加字段”,字段类型选“图像”,字段名称填 cover_image,返回格式选“图像数组”。如果要重复内容,字段类型选“重复器”,字段名称填 features,点“+ 添加字段”添加子字段 feature_title。
注意:字段名称是模板里调用的 key,不要用中文、空格或大写字母。标签只是后台显示用,两者别搞混。
第三步:设置字段显示位置
这一步要告诉 ACF 这个字段组出现在哪些编辑页面,做完后写文章时才能看到字段。
在字段组编辑页往下找到“位置”面板。第一行规则选“文章类型” “等于” “文章”。如果只想对某个分类显示,点“添加规则组”,选“文章分类” “等于” “教程”。再往下“样式”选“标准”,“位置”选“正常”。最后点右上角“发布”。
注意:位置规则不匹配,字段不会出现。改完规则要重新打开文章编辑页刷新。
第四步:在主题模板中调用字段
这一步要把字段值输出到前台,做完后文章页会显示你填的内容。
先建子主题,不要直接改父主题。用“外观” → “主题文件编辑器”编辑 single.php,或通过 FTP 修改。文本字段输出:
<?php echo esc_html(get_field('subtitle')); ?>
图像字段输出:
<?php $img = get_field('cover_image'); if ($img): ?>
<img src="<?php echo esc_url($img['url']); ?>" alt="<?php echo esc_attr($img['alt']); ?>">
<?php endif; ?>
重复器输出:
<?php if (have_rows('features')): ?>
<ul>
<?php while (have_rows('features')): the_row(); ?>
<li><?php echo esc_html(get_sub_field('feature_title')); ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
灵活内容用 have_rows('flexible') + get_row_layout() 判断布局。
注意:
get_field()返回原始值,输出时必须用esc_html()、esc_url()、esc_attr()转义,否则有 XSS 风险。
第五步:Pro 版选项页和调用
这一步要加全局设置页,做完后后台会出现“选项页”菜单。在子主题 functions.php 加:
add_action('acf/init', function() {
acf_add_options_page([
'page_title' => '站点设置',
'menu_title' => '站点设置',
'menu_slug' => 'site-settings',
'capability' => 'edit_posts',
'redirect' => false,
]);
});
然后去“ACF” → “字段组”新建字段组,位置规则选“选项页” “等于” “站点设置”。模板里用 get_field('字段名', 'option') 调用。
注意:改完
functions.php如果后台白屏,多半是语法错误,用 FTP 改回来。
小结
- 安装 ACF 后,在“ACF” → “字段组”创建字段,字段名称是模板调用 key。
- 位置规则决定字段出现在哪些编辑页,必须匹配文章类型或分类。
- 模板用
get_field()、the_field()、have_rows()输出,输出时转义。 - 重复器、灵活内容、选项页需要 ACF Pro。
- 改主题用子主题,避免更新丢失。
原文链接:https://www.gj0.com/thread-59.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。