block_core_page_list_get_submenu_visibility()WP 6.9.0

Returns the submenu visibility value with backward compatibility for the deprecated openSubmenusOnClick attribute.

No Hooks.

Returns

String. The visibility mode: 'hover', 'click', or 'always'.

Usage

block_core_page_list_get_submenu_visibility( $context );
$context(array) (required)
Block context from parent Navigation block.

Changelog

Since 6.9.0 Introduced.

block_core_page_list_get_submenu_visibility() code WP 7.0

function block_core_page_list_get_submenu_visibility( $context ) {
	$deprecated_open_submenus_on_click = $context['openSubmenusOnClick'] ?? null;

	// For backward compatibility, prioritize the legacy attribute if present. If it has been loaded and saved in the editor, then
	// the deprecated attribute will be replaced by submenuVisibility.
	if ( null !== $deprecated_open_submenus_on_click ) {
		// Convert boolean to string: true -> 'click', false -> 'hover'.
		return ! empty( $deprecated_open_submenus_on_click ) ? 'click' : 'hover';
	}

	$submenu_visibility = $context['submenuVisibility'] ?? null;

	// Use submenuVisibility for migrated/new blocks.
	return $submenu_visibility ?? 'hover';
}