Обзор
Фильтрует, какие типы Schema.org отображаются первыми в выпадающих списках.
Описание
Этот фильтр позволяет настроить, какие типы Schema.org выводятся в начале выпадающих списков выбора. Приоритетные типы показываются первыми для быстрого доступа к наиболее часто используемым типам.
Когда указан ID контекста группы полей, типы из связанных типов записей автоматически добавляются в начало списка, чтобы предлагать более контекстно-зависимые варианты.
Журнал изменений
- Добавлено в версии 6.8.0
Параметры
apply_filters( 'acf/schema/schema_priority_types', $priority_types, $context_id );
$priority_types(array) Массив имен приоритетных типов$context_id(int) ID группы полей для контекста или 0
Возвращаемое значение
(array) Изменённый массив приоритетных типов.
Пример
В этом примере в список приоритетов добавляются пользовательские типы.
/**
* Добавляет пользовательские приоритетные типы Schema.org.
*
* @param array $priority_types Массив имен приоритетных типов.
* @param int $context_id 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 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 );
Обновлено: 02.06.2026