The add_cssclass() WordPress PHP function adds a CSS class to a string.
Usage
The function is primarily used to add CSS classes to menu items in WordPress.
add_cssclass('new-class', 'existing-class');
This will return the string 'existing-class new-class'.
Parameters
- $class_to_add (string) – The CSS class to add.
- $classes (string) – The string to add the CSS class to.
More information
See WordPress Developer Resources: add_cssclass()
This function is defined in wp-admin/includes/menu.php, so it’s not immediately available on the frontend and its use there is probably discouraged.
Examples
Adding a class to a menu item
Here we are adding the ‘menu-top-first’ class to the first menu item.
$firstm = $lastm = false;
$i = 0;
foreach ( $menu as $order => $top ) {
$i++;
if ( 0 == $order ) {
// Adds 'menu-top-first' to the first menu item
$menu[0][4] = add_cssclass( 'menu-top-first', $top[4] );
$lastm = 0;
continue;
}
...
}
Adding a ‘menu-top-last’ class
This example adds the ‘menu-top-last’ class to the last menu item before a separator.
$firstm = true;
foreach ( $menu as $order => $top ) {
if ( 0 === strpos( $top[2], 'separator' ) && false !== $lastm ) {
// Adds 'menu-top-last' to the last menu item before a separator
$c = $menu[ $lastm ][4];
$menu[ $lastm ][4] = add_cssclass( 'menu-top-last', $c );
continue;
}
...
}
Reassigning the ‘menu-top-first’ class
In the following snippet, the ‘menu-top-first’ class is reassigned to a new menu item.
$firstm = false;
foreach ( $menu as $order => $top ) {
if ( $first ) {
// Reassigns 'menu-top-first' to a new menu item
$c = $menu[ $order ][4];
$menu[ $order ][4] = add_cssclass( 'menu-top-first', $c );
$firstm = false;
}
$lastm = $order;
}
Adding multiple classes
You can use add_cssclass() to add multiple classes at once. Just separate the classes with a space.
$existing_classes = 'class1 class2'; $new_classes = 'class3 class4'; $classes = add_cssclass($new_classes, $existing_classes);
Adding a class conditionally
In this example, a CSS class is added to a variable only if a condition is met.
$classes = 'my-class';
if ($condition) {
$classes = add_cssclass('additional-class', $classes);
}