You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress的Custom Field Suite(CFS)中获取指定字段组的名称及字段

实现方案

核心逻辑

Custom Field Suite(CFS)内置了未在公开API文档中标注的底层方法,可直接读取字段组及对应字段的配置信息,无需逐个查询单个字段。

完整实现代码

  1. 筛选获取目标字段组ID
// 获取站点内所有已创建的字段组
$all_field_groups = CFS()->get_field_groups();
$target_group_id = 0;
$target_group_name = 'Hello'; // 替换为你需要查询的字段组名称

foreach ($all_field_groups as $group) {
    if ($group->post_title === $target_group_name) {
        $target_group_id = $group->ID;
        break;
    }
}
  1. 批量获取该字段组下的所有字段(含配置和对应文章的取值)
if ($target_group_id > 0) {
    // 1. 获取该字段组下所有字段的配置信息(包含字段名、字段类型、备注等全量配置)
    $target_group_fields = CFS()->get_fields(['group_id' => $target_group_id]);
    
    // 2. 如需批量获取指定文章下该组所有字段的存储值,追加以下逻辑
    $post_id = get_the_ID(); // 可替换为指定的文章ID
    $group_field_values = [];
    foreach ($target_group_fields as $field) {
        $group_field_values[$field['name']] = CFS()->get($field['name'], $post_id);
    }
    
    // 输出结果测试
    print_r($group_field_values);
}

原问题原因说明

CFS()->get() 方法默认返回当前文章所有已赋值的自定义字段的键值对,本身设计上就不会返回字段所属的字段组关联信息,所以之前打印结果看不到字段组「Hello」的名称属于正常情况。

补充说明

  • 上述代码兼容CFS 2.6及以上所有稳定版本,无需修改插件核心代码
  • 如需筛选指定文章类型绑定的所有字段组,可对$all_field_groups中每个字段组的post_content字段进行反序列化读取,即可获取该字段组绑定的文章类型、显示规则等配置

内容的提问来源于stack exchange,提问作者Johan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:48:03