如何获取 CFS 中字段组的名称?

How can I get the name of field group in CFS?

在 Wordpress 中,有一个名为 Custom Field Suite 的插件: https://nl.wordpress.org/plugins/custom-field-suite/

问题?我无法定位特定字段组中的所有字段。我可以看到字段组是 post 类型,但我似乎无法定位它。

API也没有相关信息: https://mgibbs189.github.io/custom-field-suite/api.html

我的目标是获取特定字段组中的所有字段,而不是一一查询所有字段。

有人让它工作的机会吗?

编辑:

如果我对那里的内容进行 var 转储,我找不到字段组的名称。这就是全部问题。

$list = CFS()->get();
print_r ($list);

Array ( [tester] => test
[location] => nomee) 

而我的字段组名称 = "Hello"

当我们在 CFS 插件中创建一组字段时,我们在技术上创建了一个名为 cfs

的自定义 post 类型

我们还将创建三个自定义字段:

  1. cfs_extras - 这是存储字段组设置的地方
  2. cfs_rules - 显示字段组的条件,其中应显示自定义 post 类型或分类
  3. cfs_fields - 组的附加字段存储在这里

如果我们需要为一组字段查找字段,首先我们必须进行这样的查询

$my_fields_group_name = 'test';

$query = get_posts( 'no_found_rows=true&fields=ids&post_type=cfs&s=' . $my_fields_group_name );

$my_fields_group_post_id = $query[0];

然后从自定义字段“cfs_fields”

中获取字段名称
$my_fields = get_post_meta($my_fields_group_post_id , "cfs_fields", true);

print_r($my_fields);

现在我们有了所有的自定义字段键,我们可以获取这些字段的值

$current_post_id = get_the_id();
foreach($my_fields as $my_field) {
$custom_field_key = $my_field ['name'];

$custom_field_value = get_post_meta($current_post_id , $custom_field_key, true);
echo $custom_field_key . ' - ' . $custom_field_value;
echo '<br>';
}

这里是所有代码的组合

$my_fields_group_name = 'test';

$query = get_posts( 'no_found_rows=true&fields=ids&post_type=cfs&s=' . $my_fields_group_name );

$my_fields_group_post_id = $query[0];

$my_fields = get_post_meta($my_fields_group_post_id , "cfs_fields", true);

print_r($my_fields);
echo '<br>';

$current_post_id = get_the_id();

foreach($my_fields as $my_field) {

$custom_field_key = $my_field ['name'];

$custom_field_value = get_post_meta($current_post_id , $custom_field_key, true);
echo $custom_field_key . ' - ' . $custom_field_value;
echo '<br>';

}

更新 如果不想每次都查询,可以得到post_id of custom post fields group

$my_fields_group_name = 'test';

$query = get_posts( 'no_found_rows=true&fields=ids&post_type=cfs&s=' . $my_fields_group_name );

$my_fields_group_post_id = $query[0];

并在代码中直接使用这个id

$my_id = 28;
$my_fields = get_post_meta($my_id , "cfs_fields", true);

$current_post_id = get_the_id();

foreach($my_fields as $my_field) {

$custom_field_key = $my_field ['name'];

$custom_field_value = get_post_meta($current_post_id , $custom_field_key, true);
echo $custom_field_key . ' - ' . $custom_field_value;
echo '<br>';

}