Обзор
Фильтрация форматированных значений для конкретного имени поля.
Описание
Этот фильтр — версия 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