Как получить идентификатор группы полей со страницы с помощью ACF и Wordress?

Я создал много групп полей и использовал «Показать эту группу полей, если .. Страница равна .. X» со знаменитым плагином Advanced Custom Fields (ACF).

Я использую get_post_custom_keys(), чтобы показать все настраиваемые поля со страницы:

$custom_field_keys = get_post_custom_keys(45);

Я жестко запрограммировал «45», который является не идентификатором страницы, а идентификатором группы полей. Я изо всех сил пытаюсь получить идентификатор группы полей, связанной со страницей.

get_post_custom_keys($post_id); отобразит настраиваемые поля для страницы, а не для группы полей.

Я понимаю, что с одной страницей может быть связано несколько групп полей.


person Etienne Dupuis    schedule 24.04.2014    source источник


Ответы (1)


Вот мое решение. Я просматриваю базу данных напрямую, ищу любые правила ACF для текущей страницы и беру этот идентификатор.

//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);
person Etienne Dupuis    schedule 18.06.2014