使用函数覆盖菜单 CSS WordPress.php


Override Menu CSS Wordpress with Functions.php

我在函数中使用以下覆盖.php

function wp_nav_menu_attributes_filter($var) {
return is_array($var) ? array_intersect($var, array('current-menu-item')) : '';
}
add_filter('nav_menu_css_class', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'wp_nav_menu_attributes_filter', 100, 1);
add_filter('page_css_class', 'wp_nav_menu_attributes_filter', 100, 1);

这将删除 wordpress 添加到菜单项的类标签。 现在我需要做的实际上是将我自己的类名放入 li 标签中,任何人都可以快速填写我如何做到这一点,我已经搜索了谷歌,也许我搜索错了或者什么没有,或者我只是无法理解带有函数.php文件的钩子系统......

使用上述方法使我的 html 输出为...

    <ul id="menu-homemenu" class="list-group special">
    <li><a href="#">Biography</a></li>
    <li><a href="#">Selected Works</a></li>
    <li><a href="#">Contact Us</a></li>
    </ul>

当然,在我发表评论后,我想通了......叹息讨厌,这需要整个晚上才能得到它......这个问题为我指明了正确的方向 - 如何将自定义 HTML 添加到wp_nav_menu?

我添加了这个类..

class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
        $output .= "<li class='list-group-item'><a href=".esc_attr($item->url).">".esc_attr($item->title)."</a>";
    }
    function end_el( &$output, $item, $depth = 0, $args = array() ) {
        $output .= "</li>'n";
    }
}

然后将其添加到我的数组中,我在模板中调用了我的导航......

<?php wp_nav_menu(array('menu' => 'HomeMenu','menu_class' => 'list-group special','menu_id' => '','walker' => new Custom_Walker_Nav_Menu)); ?>