项目概况
项目使用的是news247主题,使用后台配置操作的生成的菜单,一级菜单和二级菜单都是使用的分类(Category)属性,主题自带的效果是,PC端鼠标移动到一级菜单之后,会自动展开二级菜单,一级菜单也是可以点击的,但是应用到移动端之后,没有鼠标移动事件,只能使用点击事件,点击一级菜单之后,页面就跳转了,不会展开二级菜单。
菜单样式:
菜单配置:
解决方案
禁用一级菜单的点击事件,将一级菜单的内容全部移动二级菜单,程序的改动最小。
具体实现
1、一级菜单使用自定义链接
配置自定义链接时,URL为必填,我们使用#代替。
2、将内容全部移动到自定义的一级菜单下,直接拖动即可。
3、修改主题下的function.php文件,添加如下代码
add_filter( 'wp_nav_menu_items', function ( $menu ) {
return str_replace( '<a href="#"', '<a', $menu );
} );
上述代码的目的是去掉一级菜单的url,达到禁用点击事件的目的。
至此,间接的实现wordpress禁用一级点击事件的效果。当然,可能不通过配置,直接修改后台代码也能达到此效果,暂时还未研究。