Обзор
Отфильтровать значение поля после применения стандартного форматирования.
Описание
Этот фильтр позволяет изменять значения полей после того, как ACF применил стандартное форматирование JSON-LD. Используйте его для постобработки значений или применения пользовательских преобразований.
Для предварительной обработки до стандартного форматирования используйте acf/schema/format_value/pre.
Журнал изменений
- Добавлено в версии 6.8.0
Параметры
apply_filters( 'acf/schema/format_value', $formatted_value, $value, $field_object, $field_type );
$formatted_value(mixed) Значение после стандартного форматирования$value(mixed) Исходное необработанное значение поля$field_object(array) Объект поля с настройками$field_type(string) Имя типа поля
Возвращаемое значение
(mixed) Изменённое форматированное значение.
Пример
Этот пример гарантирует, что у цен всегда будет 2 знака после запятой.
/**
* Форматировать цены с 2 знаками после запятой.
*
* @param mixed $formatted_value Отформатированное значение.
* @param mixed $value Исходное значение.
* @param array $field_object Объект поля.
* @param string $field_type Тип поля.
* @return mixed Изменённое значение.
*/
function my_acf_schema_format_prices( $formatted_value, $value, $field_object, $field_type ) {
$property = $field_object['schema_property'] ?? '';
if ( $property === 'Offer.price' || $property === 'price' ) {
return number_format( (float) $formatted_value, 2, '.', '' );
}
return $formatted_value;
}
add_filter( 'acf/schema/format_value', 'my_acf_schema_format_prices', 10, 4 );
Этот пример преобразует обычные URL в корректные объекты ссылок.
/**
* Преобразовать URL в объекты WebPage.
*
* @param mixed $formatted_value Отформатированное значение.
* @param mixed $value Исходное значение.
* @param array $field_object Объект поля.
* @param string $field_type Тип поля.
* @return mixed Изменённое значение.
*/
function my_acf_schema_format_urls( $formatted_value, $value, $field_object, $field_type ) {
$property = $field_object['schema_property'] ?? '';
// Преобразовать mainEntityOfPage в объект WebPage
if ( $property === 'mainEntityOfPage' && is_string( $formatted_value ) ) {
return array(
'@type' => 'WebPage',
'@id' => $formatted_value,
);
}
return $formatted_value;
}
add_filter( 'acf/schema/format_value', 'my_acf_schema_format_urls', 10, 4 );
Обновлено: 02.06.2026