acf/schema/schema_priority_types
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 );
这篇文档对你有帮助吗?
谢谢你的反馈!