Skip to content

Instantly share code, notes, and snippets.

@peterwilsoncc
Created July 27, 2012 04:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterwilsoncc/3186233 to your computer and use it in GitHub Desktop.
Save peterwilsoncc/3186233 to your computer and use it in GitHub Desktop.
Kill them useless menu classes
<?php
function pwcc_filter_nav_menu_css_class($classes, $item, $args) {
unset($classes);
$classes = array();
if (trim($item->classes[0]) != '') {
$classes[] = $item->classes[0];
}
$classes[] = 'menu-item';
if ($item->current OR $item->current_item_ancestor OR $item->current_item_parent) {
$classes[] = 'menu-item-on';
}
if ( $item->current_item_ancestor OR $item->current_item_parent) {
$classes[] = 'menu-item-up';
}
if ($item->current) {
$classes[] = 'menu-item-is';
}
return array_unique( $classes );
}
add_filter( 'nav_menu_css_class', 'pwcc_filter_nav_menu_css_class', 10, 3);
?>
@evansolomon
Copy link

Here's a simpler approach to do the same thing.

<?php
function pwcc_filter_nav_menu_css_class( $classes, $item ) {
    $classes = array( 'menu-item' );

    if ( '' != trim( $item->classes[0] ) )
        $classes[] = $item->classes[0];

    if ( $item->current )
        array_push( $classes, 'menu-item-on', 'menu-item-is' );

    if( $item->current_item_ancestor || $item->current_item_parent )
        array_push( $classes, 'menu-item-on', 'menu-item-up' );

    return array_unique( $classes );
}
add_filter( 'nav_menu_css_class', 'pwcc_filter_nav_menu_css_class', 10, 2 );

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment