我找到了一些为li元素添加类的解决方案,但不幸的是它没有用。我究竟做错了什么? 这是我的代码:
编辑:我还添加了第二个菜单,我在页面上使用
function.php
function main_menu() {
add_theme_support('menus');
register_nav_menus(array(
'primary' => __('Primary Main Menu'),
));
register_nav_menus(array(
'secondary' => __('Primary Portfolio Navigation'),
));
}
//Remove ul wrapper from menu
function remove_ul ( $menu ){
return preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#' ), '', $menu );
}
add_filter( 'wp_nav_menu', 'remove_ul' );
function special_nav_class ($classes, $item) {
if (in_array('current-menu-item', $classes) ){
$classes[] = 'active ';
}
return $classes;
}
function menu_item_class( $classes, $item, $args) {
unset($classes);
$classes[] = "col-xs-6 col-sm-6 col-md-2 filter";
return $classes;
}
//Menu
add_action('after_setup_theme', 'main_menu');
add_filter('nav_menu_css_class', 'menu_item_class', 1, 3);
的index.php
<ul>
$args = array(
'container' => false,
'menu_id' => false,
'items-wrap' => '',
'theme_location' => 'secondary'
);
wp_nav_menu($args); ?>
</ul>
答案 0 :(得分:1)
从nav_menu_css_class返回的内容应该是数组。你在技术上返回一个带有单个字符串的数组,但是将每个类作为数组中的一个元素来执行它会更正确:
function menu_item_class( $classes, $item, $args) {
unset($classes);
$classes = ["col-xs-6","col-sm-6","col-md-2","filter"];
return $classes;
}
我想知道这是否能解决你的问题。