Фильтр 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 );

Обновлено: 02.06.2026