apply_filters( 'body_class', string[] $classes , string[] $class )
Filters the list of CSS body class names for the current post or page.
Description Description
Parameters Parameters
- $classes
-
(string[]) An array of body class names.
- $class
-
(string[]) An array of additional class names added to the body.
Source Source
Changelog Changelog
| Version | Description |
|---|---|
| 2.8.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Remove Classes
Remove an existing body class by un-setting the key from the
$classesarray.// Removes a class from the body_class array. add_filter( 'body_class', function( $classes ) { if ( isset( $classes['class-to-remove'] ) ) { unset( $classes['class-to-remove'] ); } return $classes; } );Add New Classes
You can add additional body classes by filtering the {@see ‘body_class’} hook.
To add the following to the WordPress Theme functions.php file, changing my_class_names and class-name to meet your needs:
// Add specific CSS class by filter. add_filter( 'body_class', function( $classes ) { return array_merge( $classes, array( 'class-name' ) ); } );Following function adds CSS classes that may be useful
function my_body_class( $classes ) { $include = array ( // browsers/devices (https://codex.wordpress.org/Global_Variables) 'is-iphone' => $GLOBALS['is_iphone'], 'is-chrome' => $GLOBALS['is_chrome'], 'is-safari' => $GLOBALS['is_safari'], 'is-ns4' => $GLOBALS['is_NS4'], 'is-opera' => $GLOBALS['is_opera'], 'is-mac-ie' => $GLOBALS['is_macIE'], 'is-win-ie' => $GLOBALS['is_winIE'], 'is-gecko' => $GLOBALS['is_gecko'], 'is-lynx' => $GLOBALS['is_lynx'], 'is-ie' => $GLOBALS['is_IE'], 'is-edge' => $GLOBALS['is_edge'], // WP Query (already included by default, but nice to have same format) 'is-archive' => is_archive(), 'is-post_type_archive' => is_post_type_archive(), 'is-attachment' => is_attachment(), 'is-author' => is_author(), 'is-category' => is_category(), 'is-tag' => is_tag(), 'is-tax' => is_tax(), 'is-date' => is_date(), 'is-day' => is_day(), 'is-feed' => is_feed(), 'is-comment-feed' => is_comment_feed(), 'is-front-page' => is_front_page(), 'is-home' => is_home(), 'is-privacy-policy' => is_privacy_policy(), 'is-month' => is_month(), 'is-page' => is_page(), 'is-paged' => is_paged(), 'is-preview' => is_preview(), 'is-robots' => is_robots(), 'is-search' => is_search(), 'is-single' => is_single(), 'is-singular' => is_singular(), 'is-time' => is_time(), 'is-trackback' => is_trackback(), 'is-year' => is_year(), 'is-404' => is_404(), 'is-embed' => is_embed(), // Mobile 'is-mobile' => wp_is_mobile(), 'is-desktop' => ! wp_is_mobile(), // Common 'has-blocks' => function_exists( 'has_blocks' ) && has_blocks(), ); // Sidebars foreach ( $GLOBALS['wp_registered_sidebars'] as $sidebar ) { $include[ "is-sidebar-{$sidebar['id']}" ] = is_active_sidebar( $sidebar['id'] ); } // Add classes foreach ( $include as $class => $do_include ) { if ( $do_include ) $classes[ $class ] = $class; } // Return return $classes; } add_filter( 'body_class', 'my_body_class' );Expand full source codeCollapse full source code