The navigation_markup_template filter allows you to modify the default navigation markup template in WordPress.
Usage
add_filter('navigation_markup_template', 'your_custom_function', 10, 2); function your_custom_function($template, $css_class) { // your custom code here return $template; }
Parameters
$template
(string) – The default navigation template.$css_class
(string) – The CSS class passed by the calling function.
Examples
Change the navigation CSS class
add_filter('navigation_markup_template', 'change_navigation_css_class', 10, 2); function change_navigation_css_class($template, $css_class) { $custom_css_class = 'my-navigation'; $template = str_replace('%1$s', $custom_css_class, $template); return $template; }
This code replaces the default CSS class in the navigation markup template with ‘my-navigation’.
Add a custom ARIA label
add_filter('navigation_markup_template', 'add_custom_aria_label', 10, 2); function add_custom_aria_label($template, $css_class) { $custom_aria_label = 'Custom ARIA Label'; $template = str_replace('%4$s', $custom_aria_label, $template); return $template; }
This code adds a custom ARIA label to the navigation markup template.
Wrap the navigation links with an additional div
add_filter('navigation_markup_template', 'wrap_navigation_links', 10, 2); function wrap_navigation_links($template, $css_class) { $wrapped_links = '<div class="wrapped-links">%3$s</div>'; $template = str_replace('%3$s', $wrapped_links, $template); return $template; }
This code wraps the navigation links with an additional div having the class ‘wrapped-links’.
Change the screen-reader-text value
add_filter('navigation_markup_template', 'change_screen_reader_text', 10, 2); function change_screen_reader_text($template, $css_class) { $custom_screen_reader_text = 'Custom Screen Reader Text'; $template = str_replace('%2$s', $custom_screen_reader_text, $template); return $template; }
This code changes the default screen-reader-text value to ‘Custom Screen Reader Text’.
Add an extra div before the navigation links
add_filter('navigation_markup_template', 'add_extra_div_before_nav_links', 10, 2); function add_extra_div_before_nav_links($template, $css_class) { $extra_div = '<div class="extra-div"></div>'; $nav_links = '%3$s'; $template = str_replace($nav_links, $extra_div . $nav_links, $template); return $template; }
This code adds an extra div with the class ‘extra-div’ before the navigation links.