如何禁用特定菜单项的固定链接?

时间:2016-06-17 作者:Vikas

我用的是WordPress的2016主题。现在我有一个名为Product的菜单项,它有一个子菜单。产品页面像往常一样有一个永久链接,但我想删除它,即当我单击此菜单项时,它不应该执行任何操作,就像单击文本一样。但是,在执行此操作时,它不应失去悬停颜色。

我找到了一个解决方案指针事件:无,但它删除了悬停颜色。我不想使用JavaScript/jQuery。

还有其他解决方案吗?

3 个回复
SO网友:Gareth Gillman

如果要使用PHP执行此操作,请使用custom walker 并且直接指向菜单(如果是菜单项xxx),但是jQuery可以使用removeAttr轻松地完成这一任务

$("#menu-item-xxx"). removeAttr("href");
这不会删除标记,只会从标记中删除href=。

SO网友:shulard

我个人更喜欢在菜单生成之前使用过滤器来处理数据。

示例wp_setup_nav_menu_item:

add_filter(\'wp_setup_nav_menu_item\', function($menu) {
    $menu->url = "";
    return $menu;
});
此筛选器在每个检索到的菜单项上运行,但不知道当前正在处理哪个菜单。

另一个示例wp_get_nav_menu_items :

add_filter(\'wp_get_nav_menu_items\', function($items, $menu) {
    if( $menu->slug === \'menu-principal\' ) {
        foreach ($items as &$item) {
            if ($item->ID === \'MY-PRODUCT-PAGE-ID\') {
                $item->url = "";
            }
        }
    }
    return $items;
}, 10, 2);
检索完所有菜单项后,将运行另一个筛选器。您还可以访问$menu 变量(确保最新给出2add_filter 参数以检索菜单详细信息)。

默认的“walker”负责url 属性值以适应HTML结构和行为。我认为它可以解决你的问题。

SO网友:user2572661

从wp admin remove product menu(即当前菜单)转到菜单如何?现在使用自定义菜单创建一个新菜单(产品),并将url置于#并添加您的子菜单,如果您对当前菜单有不同的类,您也可以添加自定义类在外观>菜单中执行这些步骤,单击屏幕选项选项卡。在“显示高级菜单属性”下,选中CSS类。现在展开任何菜单项以显示CSS类(可选)文本输入

谢谢

相关推荐

Sub Menus will not work

我急需帮助。我尽了我所知的一切努力将我的子菜单恢复到我的网站上。我安装了一个元滑块插件,在我的主页上获得一个滑块。它工作得很好,然后,我的子菜单停止工作!然后我停用了插件,认为这就是导致它的原因,子菜单仍然没有显示在我的网站上。我不确定我是否丢失了代码或什么,但我将非常感谢能得到的任何帮助。我也有海明威的主题,不确定这是否有什么关系。