Dropdown menu block should follow `Submenu & overlay …` settings
-
As I’m looking into using this plugin for better menus in FSE, I ran into an issue: I set up
Submenu & overlay textandSubmenu & overlay backgroundin thecore/navigationblock, but theDropdown Menublock doesn’t use these settings when rendering. Is this intentional?Currently I’m using this, to change the classes:
add_filter('block_type_metadata', function ($metadata) {
if ($metadata['name'] !== 'ollie/mega-menu') {
return $metadata;
}
$metadata['usesContext'] ??= [];
$metadata['usesContext'][] = 'overlayBackgroundColor';
$metadata['usesContext'][] = 'overlayTextColor';
return $metadata;
}, 10);
add_filter('render_block_ollie/mega-menu', function ($block_content, $block, $instance) {
$menu_bg_color = $instance->context['overlayBackgroundColor'] ?? '';
$menu_text_color = $instance->context['overlayTextColor'] ?? '';
$menu_classes = '';
if ( $menu_bg_color ) {
$menu_classes .= ' has-background has-' . esc_attr( $menu_bg_color ) . '-background-color';
}
if ( $menu_text_color ) {
$menu_classes .= ' has-text-color has-' . esc_attr( $menu_text_color ) . '-color';
}
// Find the menu container div (having class 'wp-block-ollie-mega-menu__menu-container') and add the new classes
$processor = new \WP_HTML_Tag_Processor( $block_content );
if ( $processor->next_tag(['class_name' => 'wp-block-ollie-mega-menu__menu-container' ]) ) {
$processor->add_class($menu_classes);
$block_content = $processor->get_updated_html();
unset($processor);
}
return $block_content;
}, 10, 3);
Viewing 5 replies - 1 through 5 (of 5 total)
Viewing 5 replies - 1 through 5 (of 5 total)
The topic ‘Dropdown menu block should follow `Submenu & overlay …` settings’ is closed to new replies.