如何在wordpress中添加活动状态和图标wp_nav_menu()

时间:2012-03-25 06:03:45

标签: php html css wordpress

function main_nav() { 
    wp_nav_menu( 
        array( 
            'menu' => 'main_nav', 
            'theme_location' => 'main_nav', 
            'container_class' => 'menu clearfix', 
            'link_before'     => '<span>',
            'link_after'      => '</span>',
            'fallback_cb' => 'bones_main_nav_fallback' 
        )
    );
}

我正在尝试使用link_before和link_after将span标记附加到wp_nav_menu,以便我可以为每个导航添加一个图标。

示例:

<li><span><img src="home.gif" /></span><a href="home.php"> Home</a></li>

我是php和wordpress的超级新手。关于如何解决这个问题的任何想法?

次要问题,将css-class添加到“当前活动状态”锚点?只是为了造型。

1 个答案:

答案 0 :(得分:0)

也许您需要更改此代码......但这是示例。您可以看到Reference to wp_nav_menu并添加持有者模式......稍后只需通过您的本地替换设置进行更改(请参阅替换前的数组)

function main_nav() { 
    $menu = wp_nav_menu( 
        array( 
            'menu' => 'main_nav', 
            'theme_location' => 'main_nav', 
            'container_class' => 'menu clearfix', 
            'link_before'     => '<span></span>',
            'echo'            => $false,
            'fallback_cb' => 'bones_main_nav_fallback' 
        )
    );

    $patterns = array(
        '<span></span><a href="home.php"',
    );
    $replacements = array(  
        '<span><img src="home.gif" /></span><a href="home"'
    );

    echo str_repalce($patterns, $replacements, $menu); 

}

和btw,列表项包含当前类的数量,因此您也可以使用tham来跟踪菜单的当前项目。