Обзор
Фильтр типов Schema.org, которые отображаются первыми в выпадающих списках.
Описание
Этот фильтр позволяет настроить типы Schema.org, которые отображаются в верхней части выпадающих списков выбора. Приоритетные типы показываются первыми для быстрого доступа к часто используемым типам.
Если указан идентификатор контекста группы полей, типы из связанных типов записей автоматически добавляются в начало списка, чтобы предоставлять контекстные рекомендации.
История изменений
- Добавлен в версии 6.8.0
Параметры
apply_filters( 'acf/schema/schema_priority_types', $priority_types, $context_id );
$priority_types(array) Массив имен приоритетных типов$context_id(int) Идентификатор группы полей для контекста или 0
Возвращаемое значение
(array) Измененный массив приоритетных типов.
Пример
В этом примере пользовательские типы добавляются в список приоритетных.
/**
* Добавляет пользовательские приоритетные типы Schema.org.
*
* @param array $priority_types Массив имен приоритетных типов.
* @param int $context_id Идентификатор группы полей или 0.
* @return array Измененные приоритетные типы.
*/
function my_acf_schema_priority_types( $priority_types, $context_id ) {
// Добавляем часто используемые типы в начало списка
array_unshift( $priority_types, 'SoftwareApplication', 'Course' );
return $priority_types;
}
add_filter( 'acf/schema/schema_priority_types', 'my_acf_schema_priority_types', 10, 2 );
В этом примере приоритетные типы настраиваются с учетом контекста группы полей.
/**
* Контекстные приоритетные типы.
*
* @param array $priority_types Массив имен приоритетных типов.
* @param int $context_id Идентификатор группы полей или 0.
* @return array Измененные приоритетные типы.
*/
function my_acf_schema_contextual_types( $priority_types, $context_id ) {
if ( ! $context_id ) {
return $priority_types;
}
$field_group = acf_get_field_group( $context_id );
if ( ! $field_group ) {
return $priority_types;
}
// Проверяем название группы полей на наличие контекстных подсказок
$title = strtolower( $field_group['title'] );
if ( strpos( $title, 'recipe' ) !== false ) {
array_unshift( $priority_types, 'Recipe', 'HowTo' );
} elseif ( strpos( $title, 'product' ) !== false ) {
array_unshift( $priority_types, 'Product', 'Offer' );
}
return array_unique( $priority_types );
}
add_filter( 'acf/schema/schema_priority_types', 'my_acf_schema_contextual_types', 10, 2 );
Обновлено: 30.09.2026