Обзор
Фильтр доступных вариантов формата вывода для сочетания типа поля и свойства.
Описание
Этот фильтр позволяет изменить список доступных вариантов формата вывода при настройке сопоставления поля со свойством Schema.org. Форматы определяют, как значения поля преобразуются для вывода JSON-LD.
Журнал изменений
- Добавлено в версии 6.8.0
Параметры
apply_filters( 'acf/schema/output_format_choices', $choices, $field_type, $property );
$choices(array) Массив вариантов формата (ключ => метка)$field_type(string) Тип поля ACF$property(string) Имя свойства Schema.org
Возвращает
(array) Изменённый массив вариантов формата.
Пример
Этот пример добавляет пользовательский вариант формата.
/**
* Добавить пользовательский вариант формата вывода.
*
* @param array $choices Варианты формата.
* @param string $field_type Тип поля ACF.
* @param string $property Свойство Schema.org.
* @return array Изменённые варианты.
*/
function my_acf_schema_add_format( $choices, $field_type, $property ) {
if ( $field_type === 'number' && in_array( $property, array( 'price', 'Offer.price' ), true ) ) {
$choices['currency'] = 'Валюта (с символом)';
}
return $choices;
}
add_filter( 'acf/schema/output_format_choices', 'my_acf_schema_add_format', 10, 3 );
Этот пример удаляет варианты формата для определённых свойств.
/**
* Ограничить варианты формата для свойств длительности.
*
* @param array $choices Варианты формата.
* @param string $field_type Тип поля ACF.
* @param string $property Свойство Schema.org.
* @return array Изменённые варианты.
*/
function my_acf_schema_duration_formats( $choices, $field_type, $property ) {
$duration_properties = array( 'prepTime', 'cookTime', 'totalTime', 'duration' );
if ( in_array( $property, $duration_properties, true ) ) {
// Разрешать только формат длительности ISO 8601
return array(
'duration' => 'Длительность ISO 8601',
);
}
return $choices;
}
add_filter( 'acf/schema/output_format_choices', 'my_acf_schema_duration_formats', 10, 3 );
Обновлено: 02.06.2026