From f5e2717712597f9eb52b9c4b9e34036544a139f9 Mon Sep 17 00:00:00 2001 From: Sergio de Falco Date: Fri, 16 Sep 2022 12:34:57 +0200 Subject: [PATCH 1/2] Added a few filters Added a few filters to make it possible to programmatically change the navigation icons. --- .../block-library/src/navigation/index.php | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/block-library/src/navigation/index.php b/packages/block-library/src/navigation/index.php index 5173f96040b4d..fa8c8f850c6c5 100644 --- a/packages/block-library/src/navigation/index.php +++ b/packages/block-library/src/navigation/index.php @@ -245,10 +245,10 @@ function block_core_navigation_build_css_font_sizes( $attributes ) { * @return string */ function block_core_navigation_render_submenu_icon() { - return ''; + $submenu_icon = ''; + return apply_filters( 'block_core_navigation_render_submenu_icon', $submenu_icon ); } - /** * Finds the most recently published `wp_navigation` Post. * @@ -619,14 +619,24 @@ function render_block_core_navigation( $attributes, $content, $block ) { ); $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon']; - $toggle_button_icon = ''; + $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_icon', + '' ); + if ( isset( $attributes['icon'] ) ) { if ( 'menu' === $attributes['icon'] ) { - $toggle_button_icon = ''; + $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_icon_menu', + '' ); + } elseif ( 'more-vertical' === $attributes['icon'] ) { + $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_more_vertical', + '' ); + } elseif ( 'more-horizontal' === $attributes['icon'] ) { + $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_more_horizontal', + '' ); } } $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' ); - $toggle_close_button_icon = ''; + $toggle_close_button_icon = apply_filters( 'block_core_navigation_render_toggle_close_button_icon', + '' ); $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' ); $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label. $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label. @@ -712,3 +722,4 @@ function block_core_navigation_typographic_presets_backcompatibility( $parsed_bl } add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' ); + From 63e1003ac9abf7f900e67f10051f56dc74eea54d Mon Sep 17 00:00:00 2001 From: Sergio de Falco Date: Sat, 17 Sep 2022 09:33:26 +0200 Subject: [PATCH 2/2] Update index.php Fix lint check errors. --- .../block-library/src/navigation/index.php | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/packages/block-library/src/navigation/index.php b/packages/block-library/src/navigation/index.php index fa8c8f850c6c5..a20aeb1049769 100644 --- a/packages/block-library/src/navigation/index.php +++ b/packages/block-library/src/navigation/index.php @@ -619,24 +619,34 @@ function render_block_core_navigation( $attributes, $content, $block ) { ); $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon']; - $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_icon', - '' ); + $toggle_button_icon = apply_filters( + 'block_core_navigation_render_toggle_button_icon', + '' + ); if ( isset( $attributes['icon'] ) ) { if ( 'menu' === $attributes['icon'] ) { - $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_icon_menu', - '' ); + $toggle_button_icon = apply_filters( + 'block_core_navigation_render_toggle_button_icon_menu', + '' + ); } elseif ( 'more-vertical' === $attributes['icon'] ) { - $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_more_vertical', - '' ); + $toggle_button_icon = apply_filters( + 'block_core_navigation_render_toggle_button_more_vertical', + '' + ); } elseif ( 'more-horizontal' === $attributes['icon'] ) { - $toggle_button_icon = apply_filters( 'block_core_navigation_render_toggle_button_more_horizontal', - '' ); + $toggle_button_icon = apply_filters( + 'block_core_navigation_render_toggle_button_more_horizontal', + '' + ); } } $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' ); - $toggle_close_button_icon = apply_filters( 'block_core_navigation_render_toggle_close_button_icon', - '' ); + $toggle_close_button_icon = apply_filters( + 'block_core_navigation_render_toggle_close_button_icon', + '' + ); $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' ); $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label. $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label. @@ -722,4 +732,3 @@ function block_core_navigation_typographic_presets_backcompatibility( $parsed_bl } add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' ); -