WordPress child nav a:current styling

2019-07-29 22:04发布

I'm currently working on a site for a client - It is all working fine but within the navigation I have setup of for the child links using the following code

<div id="sub_nav_del">
                    <h4>Take a seat</h4>
                    <?php
                    $subnav_parent = ($post->post_parent) ? $post->post_parent : $post->ID;
                    $pages = get_pages('child_of=' . $subnav_parent . '&sort_column=menu_order');
                    $count = 0;
                    foreach($pages as $page)
                    { ?>



                    <ul>
                        <li>
                        <h5 class="del">
                            <a href="<?php echo get_page_link($page->ID)  ?>" ><?php echo  $page->post_title ?></a>
                        </h5>
                        </li>
                        </ul>
                    <?php
                    }   
                    ?>
                </div>

You can see an example at http://www.lagourmetteria.co.uk/take-a-seat/wine-room/, for that page I would like the current pages link orange.

I would like it to make the current link to be a different colour just within the child navigation. Is there a simple way to do this, unfortunately my PHP skills aren't fantastic.

1条回答
一纸荒年 Trace。
2楼-- · 2019-07-29 22:40

You already have what you need as a class in the <body> which is wine-room (probably the slug). So in your CSS you can do the following magic:

body.wine-room a[href*="wine-room"],
body.tasting-room a[href*="tasting-room"],
body.food-drink-menu a[href*="food-drink-menu"],
body.have-it-all-private-parties a[href*="have-it-all-private-parties"]
{
    color: orange !important;
}

UPDATE

Added all slugs on that submenu.

UPDATE 2

Added !important to supersede any other style.

查看更多
登录 后发表回答