将活动类添加到WordPress导航

时间:2017-07-18 09:29:43

标签: php html wordpress

我在这里有很长的导航,我必须导入到WordPress。

<header class="small">
    <div class="yellow-stripe"></div>
    <div class="container">
        <nav role="navigation">
            <ul class="navigation">
                <li>
                    <a href="aboutus">About us</a>
                    <ul class="sub-navigation">
                        <li><a href="">We are</a></li>
                        <li><a href="">Our story</a></li>
                        <li><a href="why">Why Ledil</a></li>
                        <li><a href="contacts-europe">Where</a></li>
                        <li><a href="management">Management</a></li>
                        <li><a href="">Investors</a></li>
                    </ul>
                </li>
                <li><a href="../news_all">News</a></li>
                <li><a href="../events_calendar">Events</a></li>
                <li><a href="../qa">FAQ</a></li>
            </ul>
        </nav>
        <ul class="lang">
            <li class="active"><a href="">EN</a></li>
            <li><a href="">ES</a></li>
            <li><a href="">RUS</a></li>

        </ul>
    </div>
    <div class="nav-button">
        <div class="line"></div>
        <div class="line"></div>
        <div class="line"></div>

</header>

它是用HTML制作的,现在我必须将它导入WordPress。我得到WordPress包含标题,并加载整个事情就好了,它在页面上看起来很棒,但我需要添加class =“active”for bootstrap nav到当前页面和子页面。

我通过谷歌搜索找到了一些答案,但我并没有真正走得太远。

我的function.php看起来像这样:

<?php
    remove_filter('the_content', 'wpautop');

    remove_filter('the_excerpt', 'wpautop');

    add_filter('nav_menu_css_class', 'special_nav_class', 10, 2);
    function special_nav_class($classes, $item){
        if( in_array('current_page_parent', $classes) ){
            $classes[] = 'active ';
        }
    return $classes;
    }
?>

我不确定我应该尝试什么。我发现整个WordPress的事情很奇怪。

这里似乎没有current_page_item课程..我应该做些什么来启用它吗?

li.current_page_parent a {}无效,也不会在标记内设置class="<?php if (is_page('name-of-page')) echo 'active'; ?>" ...该死的WordPress ......

没关系..我只是有点慢......我把class="<?php if (is_page('why')) echo 'active'; ?>"放在每个li元素中。

1 个答案:

答案 0 :(得分:0)

如果有人在这里结束: 您应该检查页面是否处于活动状态,或者该页面是否是另一个页面的子页面

<li class="<?php if (is_page('offices')) echo 'active'; ?>"><a href="/offices">Offices</a></li>

检查页面是否为“办公室”和

<li class="<?php if (is_page_child(143)) echo 'active'; ?> echo 'active'; ?>">

检查页面是否为ID为“143”的页面的子页面,然后在class =“”内部回显“active”