get_field()ACF 3.6

Получает значение указанного поля или опции.

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

Помните, что каждый тип поля возвращает разные типы данных: строка, число, массив и т.д.

Основа для: acf_shortcode(), the_field()

Хуков нет.

Возвращает

(Разное). Значение поля.

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

get_field( $selector, $post_id, $format_value );
$selector(строка) (обязательный)
Ключ или название поля (name или key).
$post_id(число/object)
Запись (пост) для которого сохранено указанное поле.
По умолчанию: текущий пост
$format_value(true/false)
Позволяет вкл/отключить форматирование. При отключенном форматировании будет возвращено значение какое оно есть в базе данных.
По умолчанию: true

Примеры

1

#1 Получим значение поля текущего поста

Этот пример показывает, как получить значение поля text_field текущего поста.

$value = get_field( 'text_field' );
1

#2 Получим значение поля определенного поста

Этот пример показывает, как получить значение поля text_field у поста с ID = 123.

$value = get_field( 'text_field', 123 );
1

#3 Существует ли значение у поля

Этот пример показывает, как проверить существует ли значение у указанного поля.

$value = get_field( 'text_field' );

if( $value ) {
	echo $value;
}
else {
	echo 'empty';
}
1

#4 Получим значения одного поля у разных объектов

Этот пример показывает варианты, которые можно передать в $post_id, чтобы получить поле у post, user, term или option.

$post_id = false;        // current post
$post_id = 1;            // post ID = 1
$post_id = "user_2";     // user ID = 2
$post_id = "category_3"; // category term ID = 3
$post_id = "event_4";    // event (custom taxonomy) term ID = 4
$post_id = "option";     // options page
$post_id = "options";    // same as above

$value = get_field( 'my_field', $post_id );
0

#5 Получим значение поля без форматирования

В этом примере поле 'image' - это поле изображения, которое обычно возвращает объект изображения. Однако, передавая false в качестве 3-го параметра, значение не форматируется и возвращается из базы данных как есть.

Обратите внимание, что второй параметр указан false, чтобы определить текущий пост.

$image = get_field( 'image', false, false );

Список изменений

С версии 3.6 Введена.

Код get_field() ACF 6.0.4

function get_field( $selector, $post_id = false, $format_value = true ) {

	// filter post_id
	$post_id = acf_get_valid_post_id( $post_id );

	// get field
	$field = acf_maybe_get_field( $selector, $post_id );

	// create dummy field
	if ( ! $field ) {

		$field = acf_get_valid_field(
			array(
				'name' => $selector,
				'key'  => '',
				'type' => '',
			)
		);

		// prevent formatting
		$format_value = false;

	}

	// get value for field
	$value = acf_get_value( $post_id, $field );

	// format value
	if ( $format_value ) {

		// get value for field
		$value = acf_format_value( $value, $post_id, $field );

	}

	// return
	return $value;

}
4 комментария
    Войти