如何使用ACF和Wordpress从页面获取字段组ID?

时间:2014-04-24 15:44:24

标签: php wordpress advanced-custom-fields

我创建了许多字段组,并使用'显示此字段组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);将显示页面的自定义字段,而不是字段组。

我知道可能有多个字段组与一个页面相关联。

1 个答案:

答案 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);