acf/schema/format_value/pre/type={field_type}

Обзор

Предварительно фильтрует значения для конкретного типа поля перед форматированием по умолчанию.

Описание

Этот фильтр — версия acf/schema/format_value/pre, специфичная для типа поля. Он позволяет предварительно обрабатывать значения перед стандартным форматированием ACF, но только для конкретного типа поля.

Динамическая часть имени хука, {field_type}, относится к типу поля ACF.

Журнал изменений

  • Добавлено в версии 6.8.0

Параметры

apply_filters( 'acf/schema/format_value/pre/type={field_type}', $pre_value, $value, $field_object );
  • $pre_value (mixed) Предварительно отформатированное значение из предыдущих фильтров или null
  • $value (mixed) Сырое значение поля
  • $field_object (array) Объект поля с настройками

Возврат

(mixed|null) Предварительно отформатированное значение или null для использования форматирования по умолчанию.

Пример

В этом примере показано пользовательское форматирование данных пользователя.

/**
 * Пользовательское форматирование поля пользователя для схемы Person.
 *
 * @param mixed $pre_value    Предварительно отформатированное значение или null.
 * @param mixed $value        Сырое значение (ID пользователя или массив).
 * @param array $field_object Объект поля.
 * @return mixed Предварительно отформатированное значение или null.
 */
function my_acf_schema_format_user( $pre_value, $value, $field_object ) {
    if ( ! $value ) {
        return $pre_value;
    }

    $user_id = is_array( $value ) ? $value['ID'] : $value;
    $user    = get_userdata( $user_id );

    if ( ! $user ) {
        return $pre_value;
    }

    return array(
        '@type'  => 'Person',
        'name'   => $user->display_name,
        'url'    => get_author_posts_url( $user_id ),
        'email'  => $user->user_email,
        'sameAs' => array(
            get_user_meta( $user_id, 'twitter', true ),
            get_user_meta( $user_id, 'linkedin', true ),
        ),
    );
}
add_filter( 'acf/schema/format_value/pre/type=user', 'my_acf_schema_format_user', 10, 3 );

Обновлено: 02.06.2026