WordPress Version: 6.1
/**
* Checks whether the current block type supports the border feature requested.
*
* If the `__experimentalBorder` support flag is a boolean `true` all border
* support features are available. Otherwise, the specific feature's support
* flag nested under `experimentalBorder` must be enabled for the feature
* to be opted into.
*
* @since 5.8.0
* @access private
*
* @param WP_Block_Type $block_type Block type to check for support.
* @param string $feature Name of the feature to check support for.
* @param mixed $default_value Fallback value for feature support, defaults to false.
* @return bool Whether the feature is supported.
*/
function wp_has_border_feature_support($block_type, $feature, $default_value = false)
{
// Check if all border support features have been opted into via `"__experimentalBorder": true`.
if (property_exists($block_type, 'supports') && true === _wp_array_get($block_type->supports, array('__experimentalBorder'), $default_value)) {
return true;
}
// Check if the specific feature has been opted into individually
// via nested flag under `__experimentalBorder`.
return block_has_support($block_type, array('__experimentalBorder', $feature), $default_value);
}