acf/schema/format_value/name={field_name}

Обзор

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

Описание

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

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

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

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

Параметры

apply_filters( 'acf/schema/format_value/name={field_name}', $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_price( $formatted_value, $value, $field_object ) {
    // Убедитесь, что используется 2 знака после запятой
    return number_format( (float) $formatted_value, 2, '.', '' );
}
add_filter( 'acf/schema/format_value/name=price', 'my_acf_schema_format_price', 10, 3 );

В этом примере минуты длительности преобразуются в формат ISO 8601.

/**
 * Преобразует поле длительности в ISO 8601.
 *
 * @param mixed $formatted_value Отформатированное значение.
 * @param mixed $value           Исходное значение (минуты).
 * @param array $field_object    Объект поля.
 * @return string Длительность в формате ISO 8601.
 */
function my_acf_schema_format_duration( $formatted_value, $value, $field_object ) {
    $minutes = (int) $value;
    $hours   = floor( $minutes / 60 );
    $mins    = $minutes % 60;

    if ( $hours > 0 ) {
        return sprintf( 'PT%dH%dM', $hours, $mins );
    }
    return sprintf( 'PT%dM', $mins );
}
add_filter( 'acf/schema/format_value/name=cooking_time', 'my_acf_schema_format_duration', 10, 3 );
add_filter( 'acf/schema/format_value/name=prep_time', 'my_acf_schema_format_duration', 10, 3 );

Обновлено: 02.06.2026