acf_validate_block_type()
Validates a block type ensuring all settings exist.
Хуков нет.
Возвращает
Массив.
Использование
acf_validate_block_type( $block );
- $block(массив) (обязательный)
- The block settings.
Список изменений
| С версии 5.8.0 | Введена. |
Код acf_validate_block_type() acf validate block type ACF 6.4.2
function acf_validate_block_type( $block ) {
// Add default settings.
$block = wp_parse_args(
$block,
array(
'name' => '',
'title' => '',
'description' => '',
'category' => 'common',
'icon' => '',
'mode' => 'preview',
'keywords' => array(),
'supports' => array(),
'post_types' => array(),
'uses_context' => array(),
'render_template' => false,
'render_callback' => false,
'enqueue_style' => false,
'enqueue_script' => false,
'enqueue_assets' => false,
)
);
// Generate name with prefix.
if ( $block['name'] ) {
$block['name'] = 'acf/' . acf_slugify( $block['name'] );
}
// Add default 'supports' settings.
$block['supports'] = wp_parse_args(
$block['supports'],
array(
'align' => true,
'html' => false,
'mode' => true,
)
);
// Add default 'uses_context' settings.
$block['uses_context'] = wp_parse_args(
$block['uses_context'],
array(
'postId',
'postType',
)
);
// Correct "Experimental" flags.
if ( isset( $block['supports']['__experimental_jsx'] ) ) {
$block['supports']['jsx'] = $block['supports']['__experimental_jsx'];
}
// Normalize block 'parent' setting.
if ( array_key_exists( 'parent', $block ) ) {
// As of WP 6.8, parent must be an array.
if ( null === $block['parent'] ) {
unset( $block['parent'] );
} elseif ( is_string( $block['parent'] ) ) {
$block['parent'] = array( $block['parent'] );
}
}
// Return block.
return $block;
}