WordPress.org

Make WordPress Core

Ticket #12812: ancestor-patch.diff

File ancestor-patch.diff, 1.0 KB (added by joostdevalk, 11 years ago)

Patch v2

  • wp-includes/nav-menu.php

     
    192192 * @return object $menu_item The modified menu item.
    193193 */
    194194function wp_setup_nav_menu_item( $menu_item, $menu_item_type = null, $menu_item_object = '' ) {
     195        global $post;
    195196        switch ( $menu_item_type ) {
    196197                case 'frontend':
    197198                        $menu_item->db_id = (int) $menu_item->ID;
     
    219220                        $menu_item->description = strip_tags( $menu_item->post_content );
    220221
    221222                        $menu_item->classes = get_post_meta( $menu_item->ID, '_menu_item_classes', true );
     223
     224                        if (isset($post)) {
     225                                if ( $menu_item->object_id == $post->ancestors[0] )
     226                                        $menu_item->classes .= ' menu-item-parent';
     227                                if ( in_array( $menu_item->object_id, array_values($post->ancestors) ) )
     228                                        $menu_item->classes .= ' menu-item-ancestor';
     229                        }
     230                               
     231
    222232                        $menu_item->xfn = get_post_meta( $menu_item->ID, '_menu_item_xfn', true );
    223233                        break;
    224234