--- a/wp/wp-admin/includes/menu.php Wed Sep 21 18:19:35 2022 +0200
+++ b/wp/wp-admin/includes/menu.php Tue Sep 27 16:37:53 2022 +0200
@@ -187,56 +187,70 @@
unset( $id, $data, $subs, $first_sub );
/**
- * @param string $add
- * @param string $class
- * @return string
+ * Adds a CSS class to a string.
+ *
+ * @since 2.7.0
+ *
+ * @param string $class_to_add The CSS class to add.
+ * @param string $classes The string to add the CSS class to.
+ * @return string The string with the CSS class added.
*/
-function add_cssclass( $add, $class ) {
- $class = empty( $class ) ? $add : $class .= ' ' . $add;
- return $class;
+function add_cssclass( $class_to_add, $classes ) {
+ if ( empty( $classes ) ) {
+ return $class_to_add;
+ }
+
+ return $classes . ' ' . $class_to_add;
}
/**
- * @param array $menu
- * @return array
+ * Adds CSS classes for top-level administration menu items.
+ *
+ * The list of added classes includes `.menu-top-first` and `.menu-top-last`.
+ *
+ * @since 2.7.0
+ *
+ * @param array $menu The array of administration menu items.
+ * @return array The array of administration menu items with the CSS classes added.
*/
function add_menu_classes( $menu ) {
- $first = false;
- $lastorder = false;
- $i = 0;
- $mc = count( $menu );
+ $first_item = false;
+ $last_order = false;
+ $items_count = count( $menu );
+ $i = 0;
+
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;
+ $last_order = 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 );
+ if ( 0 === strpos( $top[2], 'separator' ) && false !== $last_order ) { // If separator.
+ $first_item = true;
+ $classes = $menu[ $last_order ][4];
+ $menu[ $last_order ][4] = add_cssclass( 'menu-top-last', $classes );
continue;
}
- if ( $first ) {
- $c = $menu[ $order ][4];
- $menu[ $order ][4] = add_cssclass( 'menu-top-first', $c );
- $first = false;
+ if ( $first_item ) {
+ $classes = $menu[ $order ][4];
+ $menu[ $order ][4] = add_cssclass( 'menu-top-first', $classes );
+ $first_item = false;
}
- if ( $mc == $i ) { // Last item.
- $c = $menu[ $order ][4];
- $menu[ $order ][4] = add_cssclass( 'menu-top-last', $c );
+ if ( $i == $items_count ) { // Last item.
+ $classes = $menu[ $order ][4];
+ $menu[ $order ][4] = add_cssclass( 'menu-top-last', $classes );
}
- $lastorder = $order;
+ $last_order = $order;
}
/**
- * Filters administration menus array with classes added for top-level items.
+ * Filters administration menu array with classes added for top-level items.
*
* @since 2.7.0
*