get_field()

Обзор

Возвращает значение конкретного поля.

Интуитивное и мощное (как и сам ACF), это поле позволяет получить значение любого поля в любом месте вашего шаблона. Пожалуйста, учитывайте, что каждое поле возвращает свой тип данных (строка, число, массив и т.д.).

Параметры

get_field($selector, [$post_id], [$format_value]);
  • $selector (строка) (обязательное) Имя поля или ключ поля
  • $post_id (смешанный) (необязательное) ID поста для которого сохранено поле. По умолчанию текущий пост
  • $format_value (логический) (необязательное) Следует ли применять логику форматирования. По умолчанию true.

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

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

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

$value = get_field( "text_field" );

Получение значения из конкретного поста

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

$value = get_field( "text_field", 123 );

Проверка на существование значения

Пример показывает, как проверить задано значение для поля или нет.

$value = get_field( "text_field" );
if( $value ) {
    echo $value;
} else {
    echo 'Пусто';    
}

Получение значения из различных объектов

Пример показывает, как с помощью параметра $post_id можно получать значения из постов, пользователей, рубрик, таксономий и страниц с опциями.

$post_id = false; // текущий пост
$post_id = 1; // пост с ID = 1
$post_id = "user_2"; // user ID = 2
$post_id = "category_3"; // рубрика с ID = 3
$post_id = "event_4"; // event (произвольная таксономия) с ID = 4
$post_id = "option"; // страница с опциями
$post_id = "options"; // тоже, что и выше

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

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

В этом примере, поле image, являющееся типом поля «Изображение», по умолчанию возвращает Image объект. Тем не менее, если поставить значение 3 параметра у функции get_field в положение false, то возвращаемое значение никогда не будет форматироваться и вернется как есть из базы данных.

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

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

Похожие