【问题标题】:Navigation Highlight removed on subpages (wordpress)子页面上的导航突出显示(wordpress)
【发布时间】:2014-11-12 14:51:56
【问题描述】:

当您单击此网页上的导航时,导航元素会保持突出显示状态。如果您导航到其中一个内页,突出显示就会消失。我们如何才能在该页面的子页面上保持突出显示?

http://www.allinsure.ca/services/ - 尝试点击子页面;服务上的灰色突出显示不再存在。适用于所有带有子页面的页面。

关于如何解决这个问题的任何想法?我还注意到面包屑不会直接返回到前一页——而是链接到投资组合类别。

也许有一种方法可以说“选择此页面后,突出显示此导航项”。

我们正在使用 Cherry 框架。那和wordpress都是最新的。

谢谢大家!

【问题讨论】:

    标签: php css wordpress navigation


    【解决方案1】:

    当您在子页面上时,请查看 wordpress 为您的主导航设置的“current-page-ancestor”类。

    所以你可以用纯 css 解决这个问题。

    只需将 main-style.css 中的这一部分更改为:

    .header .nav__primary .sf-menu li.current-menu-item a, 
    .header .nav__primary .sf-menu .sfHover a,     
    .header .nav__primary .sf-menu .current-menu-parent a{
       background: none repeat-x scroll 0 0 #58585a;
       box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
       color: #fff;
    }
    

    到:

    .header .nav__primary .sf-menu li.current-menu-item a, 
    .header .nav__primary .sf-menu .sfHover a,     
    .header .nav__primary .sf-menu .current-menu-parent a,
    .header .nav__primary .sf-menu li.current-page-ancestor a{
       background: none repeat-x scroll 0 0 #58585a;
       box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
       color: #fff;
    }
    

    我刚刚注意到“current-page-ancestor”类仅适用于页面类型,但不适用于自定义类型。当您在产品组合条目上时,要突出显示“服务”页面,这有点复杂。您可以使用过滤器 nav_menu_css_class 来实现它。

    function _nav_menu_css_class($classes)
    {
        switch (get_post_type()){
        case 'portfolio':
    
            $idOfServicePage = 1;
    
            if (in_array('menu-item-'.$idOfServicePage, $classes)){
                $classes[] = 'current-menu-item'; // or current-page-ancestor
            }
    
            break;
    
        }
        return $classes;
    }
    add_filter('nav_menu_css_class', '_nav_menu_css_class');
    

    抱歉,我现在无法检查我的代码,但我遇到了类似的问题,可以使用 nav_menu_css_class 过滤器解决它。

    【讨论】:

    • 感谢您的尝试 :) 对产品页面运行良好,但对任何其他页面都没有。叹息!
    • 我已经改变了我的答案...希望这会有所帮助
    • 我会玩弄它,让你知道它是怎么回事 :) 谢谢!
    猜你喜欢
    • 2021-09-21
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2019-10-19
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多