我创建了许多字段组,并使用'显示此字段组if .. Page等于.. X '与着名的高级自定义字段(ACF)插件。
我正在使用get_post_custom_keys()
来显示页面中的所有自定义字段:
$custom_field_keys = get_post_custom_keys(45);
我硬编码了'45',它不是页面ID,而是字段组ID。我很难获得与该页面相关联的字段组的ID。
get_post_custom_keys($post_id);
将显示页面的自定义字段,而不是字段组。
我知道可能有多个字段组与一个页面相关联。
答案 0 :(得分:0)
这是我的解决方案。我直接查看数据库并查找当前页面的任何ACF规则,并获取该ID。
//Look for ACF rules for the current post
$rows = $wpdb->get_results("SELECT * FROM wp_postmeta WHERE meta_key = 'rule'");
foreach ($rows as $row) {
$values = unserialize($row->meta_value);
if ($postid == $values["value"]) { $numberofacffield = $row->post_id; }
}
//Then read fields for the acf group id : $numberofacffield
$custom_field_keys = get_post_custom_keys($numberofacffield);