acf/schema/schema_priority_types — приоритетные типы Schema.org

Обзор

Фильтр типов 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