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