WordPress add_menu_classes() function kodu

WordPress add_menu_classes() function kodu

function add_menu_classes( $menu ) {
    $first = $lastorder = false;
    $i     = 0;
    $mc    = count( $menu );
    foreach ( $menu as $order => $top ) {
        $i++;
 
        if ( 0 == $order ) { // dashboard is always shown/single
            $menu[0][4] = add_cssclass( 'menu-top-first', $top[4] );
            $lastorder  = 0;
            continue;
        }
 
        if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastorder ) { // if separator
            $first                 = true;
            $c                     = $menu[ $lastorder ][4];
            $menu[ $lastorder ][4] = add_cssclass( 'menu-top-last', $c );
            continue;
        }
 
        if ( $first ) {
            $c                 = $menu[ $order ][4];
            $menu[ $order ][4] = add_cssclass( 'menu-top-first', $c );
            $first             = false;
        }
 
        if ( $mc == $i ) { // last item
            $c                 = $menu[ $order ][4];
            $menu[ $order ][4] = add_cssclass( 'menu-top-last', $c );
        }
 
        $lastorder = $order;
    }
 
    /**
     * Filters administration menus array with classes added for top-level items.
     *
     * @since 2.7.0
     *
     * @param array $menu Associative array of administration menu items.
     */
    return apply_filters( 'add_menu_classes', $menu );
}

Yorumlar / Düşünceler