You can add custom body classes to your DigiFusion theme for more targeted CSS styling and JavaScript functionality. This is useful for creating page-specific styles or adding conditional styling based on various WordPress conditions.
Basic Custom Body Classes
Add this function to your child theme’s functions.php
file:
function digifusion_child_custom_body_classes( $classes ) {
// Add custom class to all pages
$classes[] = 'custom-site';
// Add class based on post type
if ( is_singular() ) {
global $post;
$classes[] = 'post-type-' . $post->post_type;
}
// Add class for logged in users
if ( is_user_logged_in() ) {
$classes[] = 'user-logged-in';
} else {
$classes[] = 'user-logged-out';
}
return $classes;
}
add_filter( 'body_class', 'digifusion_child_custom_body_classes' );
Page-Specific Body Classes
To add classes based on specific pages or conditions:
function digifusion_child_page_specific_body_classes( $classes ) {
// Add class for homepage
if ( is_front_page() ) {
$classes[] = 'is-homepage';
}
// Add class for blog page
if ( is_home() ) {
$classes[] = 'is-blog-page';
}
// Add class for WooCommerce pages
if ( class_exists( 'WooCommerce' ) ) {
if ( is_shop() ) {
$classes[] = 'is-shop-page';
}
if ( is_product() ) {
$classes[] = 'is-single-product';
}
if ( is_cart() ) {
$classes[] = 'is-cart-page';
}
if ( is_checkout() ) {
$classes[] = 'is-checkout-page';
}
}
return $classes;
}
add_filter( 'body_class', 'digifusion_child_page_specific_body_classes' );
All these functions will add their respective classes to the <body>
element, allowing you to target specific conditions with CSS or JavaScript. You can combine multiple functions or use only the ones you need for your specific requirements.