How to output title attribute with wp_nav_menu
When customizing WordPress navigation menus, you can use wp_nav_menu
to add your own title attribute to menu items. By default, wp_nav_menu
does not display a title attribute, but this can be accomplished by extending the Walker_Nav_Menu
class. This article details how to use a custom walker class to output the title attribute.
1. Creating a Custom Walker Class
First, create a custom class My_Walker that
extends Walker_Nav_Menu
. In this class, we will retrieve the title attribute for each menu item and output it to HTML.
class My_Walker extends Walker_Nav_Menu {
public function start_el(&$output, $item, $depth = 0, $args = null, $id = 0) {
$title = esc_attr($item->attr_ title); // get title attribute
$label = apply_filters('the_title', $item->title, $item->ID); // get navigation label
$output . = "<li><a href='$item->url'><span class='menu-label'>$label</span><span class='menu-title' title='$title'> ;$title</span></a></li>";
}
}
In this custom class, the attr_title of
each menu item is taken as the title attribute and set in the HTML tag. This way, the title attribute will be displayed when the user hovers over the menu item.
2. Using a Custom Walker Class
Next, the My_Walker
class we created is used in wp_nav_menu
.
wp_nav_menu(array(
'theme_location' => 'your_menu_location',
'walker' => new My_Walker(),
));
theme_location
must be the location of the menu. This code will allow My_Walker
to customize the output of wp_nav_menu
and display the title attribute.
3. Implementation Benefits and Applications
This customization is expected to improve usability and SEO. Including keywords in the title attribute enhances the description of the link, making it easier for search engines to understand the content. In addition to the visual effect, it can also provide visual cues to help users avoid getting lost in navigation.
4. Cautions
When setting the title attribute, be sure to describe information that is useful and easy for users to understand. It is also recommended that you manage this custom class setting in a child theme of your theme, as it may be overwritten when updating or changing the theme.
Conclusion
A good way to output the title attribute in WordPress wp_nav_menu
is to use a custom walker class; with proper understanding and implementation of the use of asset-unchanged and
skip-worktree
, the menu navigation can be further customization and improve the user experience.