如果仅想让顶级菜单作为文字提示,不想有超链接,可以利用 WordPress 自定义链接,轻松实现。在 WordPress 自定义链接 URL 中输入#号及链接文字,添加到菜单后,删除这个#号,这样 A 标签就没有 href 链接目标了。
或者在当前主题函数模板 functions.php 中添加:
- add_filter( ‘wp_nav_menu_items’, function ( $menu ) {
- return str_replace( ‘<a href="#"’, ‘<a’, $menu );
- } );
将去掉菜单中所有添加自定义链接目标为#号的超链接。CSS 类添加:unclickable 添加样式,改变鼠标形态。
- .unclickable > a:hover {
- cursor: default;
- }
唯一的缺点,当鼠标悬停是还是会用有链接的样式。如果想彻底让其不显示 A 标签,可以将上面的代码修改一下,同样添加到当前主题函数模板 functions.php 中:
- add_filter( ‘wp_nav_menu_items’, function ( $menu ) {
- return preg_replace( "/<a href=\"#\">(.+?)<\/a>/is", "<span class=’mymenu’>$1</span>", $menu );
- } );
之后,菜单中所有添加自定义链接目标为#号的菜单项,将被替换为,并可以为这个”unclickable”类定义样式。
- .mymenu:hover {
- cursor: default;
- }