acf/schema/format_value/type={field_type}

Обзор

Фильтрация отформатированных значений для определённого типа поля.

Описание

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

Динамическая часть имени хука, {field_type}, обозначает тип поля ACF (например, text, number, image).

История изменений

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

Параметры

apply_filters( 'acf/schema/format_value/type={field_type}', $formatted_value, $value, $field_object );
  • $formatted_value (mixed) Значение после форматирования по умолчанию
  • $value (mixed) Исходное необработанное значение поля
  • $field_object (array) Объект поля с настройками

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

(mixed) Изменённое отформатированное значение.

Пример

Этот пример обеспечивает вывод всех числовых полей в виде чисел с плавающей точкой.

/**
 * Форматирование чисел как чисел с плавающей точкой.
 *
 * @param mixed $formatted_value Отформатированное значение.
 * @param mixed $value           Необработанное значение.
 * @param array $field_object    Объект поля.
 * @return mixed Изменённое значение.
 */
function my_acf_schema_format_numbers( $formatted_value, $value, $field_object ) {
    return (float) $formatted_value;
}
add_filter( 'acf/schema/format_value/type=number', 'my_acf_schema_format_numbers', 10, 3 );

Этот пример изменяет формат вывода изображений.

/**
 * Пользовательское форматирование изображений с дополнительными метаданными.
 *
 * @param mixed $formatted_value Отформатированное значение.
 * @param mixed $value           Необработанное значение (ID вложения).
 * @param array $field_object    Объект поля.
 * @return mixed Изменённое значение.
 */
function my_acf_schema_format_images( $formatted_value, $value, $field_object ) {
    if ( ! is_array( $formatted_value ) || ! isset( $formatted_value['@type'] ) ) {
        return $formatted_value;
    }

    // Добавить информацию о лицензии ко всем изображениям
    $formatted_value['license'] = 'https://creativecommons.org/licenses/by/4.0/';

    // Добавить URL содержимого
    if ( isset( $formatted_value['url'] ) ) {
        $formatted_value['contentUrl'] = $formatted_value['url'];
    }

    return $formatted_value;
}
add_filter( 'acf/schema/format_value/type=image', 'my_acf_schema_format_images', 10, 3 );

Обновлено: 30.09.2026