get_field_object()

Возвращает массив параметров поля, включая значение, если не указано иное.

Параметры

get_field_object($selector, [$post_id], [$format_value], [$load_value]);
  • $selector (string) — обязательный параметр. Имя поля или ключ поля
  • $post_id (mixed) — необязательное поле. ID поста, поле которого нужно получить. По-умолчанию текущий пост.
  • $format_value (bool) — необязательное поле. Форматирование полученного значения. По-умолчанию — true.
  • $load_value (bool) — необязательное поле. Определяет загружать ли значение поля. По-умолчанию — ture.

Возвращаемое значение

Эта функция возвращает массив похожий на приведеный ниже. Обратите внимание, что каждое поле содержит уникальные настройки

    [key] => field_5914c2638c00b
    [label] => Материал верха
    [name] => material_top
    [_name] => material_top
    [type] => text
    [order_no] => 0
    [instructions] => 
    [required] => 0
    [id] => acf-field-material_top
    [class] => text
    [conditional_logic] => Array
        (
            [status] => 0
            [rules] => Array
                (
                    [0] => Array
                        (
                            [field] => null
                            [operator] => ==
                        )
                )
            [allorany] => all
        )
    [default_value] => 
    [placeholder] => 
    [prepend] => 
    [append] => 
    [formatting] => html
    [maxlength] => 
    [field_group] => 20
    [value] => Натуральная кожа

Использование

/*
  *  Get a field object and display it with it's value
  */

  $field_name = "text_field";
  $field = get_field_object($field_name);

  echo $field['label'] . ': ' . $field['value'];

  /*
  *  Get a field object and display it with it's value (using the field key and the value fron another post)
  */

  $field_key = "field_5039a99716d1d";
  $post_id = 123;
  $field = get_field_object($field_key, $post_id);

  echo $field['label'] . ': ' . $field['value'];

  /*
  *  Get a field object and create a select form element
  */

  $field_key = "field_5039a99716d1d";
  $field = get_field_object($field_key);

  if( $field )
  {
    echo '<select name="' . $field['key'] . '">';
      foreach( $field['choices'] as $k => $v )
      {
        echo '<option value="' . $k . '">' . $v . ''</option>';
      }
    echo ''</select>';
  }