acf/schema/schema_priority_types

Last updated Mar 31, 2026

Overview

Filter which Schema.org types appear first in dropdowns.

Description

This filter allows you to customize which Schema.org types appear at the top of selection dropdowns. Priority types are shown first for quick access to commonly used types.

When a field group context ID is provided, types from associated post types are automatically prepended to provide context-aware suggestions.

Changelog

  • Added in version 6.8.0

Parameters

apply_filters( 'acf/schema/schema_priority_types', $priority_types, $context_id );
  • $priority_types (array) Array of priority type names
  • $context_id (int) Field group ID for context, or 0

Return

(array) The modified priority types array.

Example

This example adds custom types to the priority list.

/**
 * Add custom priority Schema.org types.
 *
 * @param array $priority_types Array of priority type names.
 * @param int   $context_id     Field group ID or 0.
 * @return array Modified priority types.
 */
function my_acf_schema_priority_types( $priority_types, $context_id ) {
    // Add our commonly used types to the top
    array_unshift( $priority_types, 'SoftwareApplication', 'Course' );

    return $priority_types;
}
add_filter( 'acf/schema/schema_priority_types', 'my_acf_schema_priority_types', 10, 2 );

This example customizes priority types based on field group context.

/**
 * Context-aware priority types.
 *
 * @param array $priority_types Array of priority type names.
 * @param int   $context_id     Field group ID or 0.
 * @return array Modified priority types.
 */
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;
    }

    // Check field group title for context clues
    $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 );
Supercharge Your Website With Premium Features Using ACF PRO

Speed up your workflow and unlock features to better develop websites using ACF Blocks and Options Pages, with the Flexible Content, Repeater, Clone, Gallery Fields & More.

Explore Features View Pricing

PRO Features
ACF Blocks
Options Pages
PRO Fields
Repeater
Flexible Content
Gallery
Clone

Related