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


How to add Active states and icons in wordpress wp_nav_menu()

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 类添加到"当前活动状态"锚点?只是为了造型。

也许您需要更改此代码...但这是一个例子。您可以看到对wp_nav_menu的引用并添加支架图案...稍后只需通过本地 replaments 设置更改它(请参阅替换前的阵列(

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); 
}

顺便说一句,列表项包含当前类的数量,因此您也可以使用 Tham 跟踪菜单的当前项。