get_field_object()

get_field_object() — функция плагина Advanced custom fields возвращает объект с информацией о указанном поле. Возвращенный массив будет выглядит следующим образом:

1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [key] => field_4fea85f5320da
    [label] => Text Field
    [name] => text_field
    [type] => text
    [instructions] => 
    [required] => 0
    [default_value] => 
    [formatting] => html
    [order_no] => 0
    [value] => Используйте параметр Отображать значение (load_value)
)

Параметры:

1
<?php get_field_object($field_key, $post_id, $options) ?>
  • $field_key — имя произвольного поля или его ключь.(Обязательный)
    Например: «my_field» или «field_0fa5abd7e2819lod»
  • $post_id — ID записи, которой хотим получить произвольное поле.(Не обязательное)
    Это может быть также опция / таксономия / пользователь / и т.д.
  • $options — массив содержащий параметры.Это может быть:
    load_value — true | false. Буте ли загружено значение поля.
    По умолчанию true

Как узнать ключ произвольного поля ACF:

На странице редактирования полей нажмите «Настройки экрана» и там включите опцию «Отображать ключ поля»:

get_field_object() - как узнать ключь произвольного поля ACF

После этого, все ключи полей будут отображаться в строке поля:

get_field_object() - как узнать ключь произвольного поля ACF

Пример использования:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php 
 
/*
*  Получить объект поля и вывести его значения(для текущей записи)
*/
 
$field_name = "text_field";
$field = get_field_object($field_name);
 
echo $field['label'] . ': ' . $field['value'];
 
/*
*	Получить объект поля и вывести его значения (для другой записи)
*/
 
$field_key = "field_5039a99716d1d";
$post_id = 123;
$field = get_field_object($field_key, $post_id);
 
echo $field['label'] . ': ' . $field['value'];
 
/*
*  Получаем объект поля и создать список <select> из данного объекта
*/
 
$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>';
}
 
?>

Оставить комментарий


2 + шесть =