Skip to content
Advertisement

Add a custom class name to WordPress body tag?

I’d like to place a directive in my theme’s functions.php file which appends a classname to the wordpress body tag. Is there a built-in API method for this?

For example, my body tag code is…

<body <?php if(function_exists("body_class") && !is_404()){body_class();} else echo 'class="page default"'?>>

And it results in the following being written to the body tag (depending on the context in which the page is presented (page, post, logged-in, etc)

<body class="home blog logged-in"> 

Depending on the child theme I’m using at the time, I want it to be…

<body class="home blog logged-in mychildthemename"> 

Advertisement

Answer

You can use the body_class filter, like so:

function my_plugin_body_class($classes) {
    $classes[] = 'foo';
    return $classes;
}

add_filter('body_class', 'my_plugin_body_class');

Although, obviously, your theme needs to call the corresponding body_class function.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement