Codepress Menu

A better take on displaying a WordPress menu in your theme.

Author:Codepress (profile at wordpress.org)
WordPress version required:3.1
WordPress version tested:3.6
Plugin version:2.3.2
Added to WordPress repository:17-08-2012
Last updated:02-08-2013
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:100
Rated by:2
Plugin URI:http://wordpress.org/extend/plugins/codepress...
Total downloads:7 387
Active installs:100+
plugin download
Click to start download

Uses the native wp_nav_menu(). Add parameters to the wp_nav_menu() to enable functionality. Also, ships with one-click delete menu-items in the WordPress admin. Turned off or on using the screen-options. Sweet.

Examples

This will get the first sub-menu from the active branch and 2 levels beyond (menu + sub-menu + sub-menu):

wp_nav_menu( array(
    'level' => 2,
    'depth' => 3
));

Show the current branch only:

wp_nav_menu( array(
    'level' => 1
));

Aimed on simple use in various use cases:

// display first level in the header
wp_nav_menu( array(
    'depth' => 1
));

// display first sub-menu from the current branch somewhere else
wp_nav_menu( array(
    'depth' => 2,
    'level' => 2
));

Another feature is it's control over the css classes that are given to a menu-item. You might be faced with css selectors which you cannot change. The 'codepress_menu_filter_classes' filter can be used in your functions.php to set the class property:

/**
 * Change the classes of a menu item
 *
 * @param array $classes List current classes
 * @param object $item Current menu item
 * @param array $items Current list of items (per level)
 * @param integer $k Key of the current item in $items
 */
function codepress_menu_item_classes( $classes, $item, $items, $k ) {
    // mark the first item
    if ( reset( $items ) == $items[ $k ] )
        $classes[] = 'first';

    // mark the last item
    if ( end( $items ) == $items[ $k ] )
        $classes[] = 'last';

    // map the WordPress default 'current-menu-item' class to 'active'
    if ( in_array( 'current-menu-item', $classes ) )
        $classes[] = 'active';

    return $classes;
}
add_filter( 'codepress_menu_item_classes', 'codepress_menu_item_classes', 10, 4 );

Simple Menu Delete

It ships with one-click delete menu-items within WordPress. This functionality was integrated from our Simple Menu Delete plugin and enhanced a bit:

  • Turned off or on using the screen-options.
  • Display is more in line with WordPress's way of delete-links.
  • Works exactly the same now as the nested delete-link which is a click further inside the menu item.

FAQ
ChangeLog