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 exampl
In case you're trying to add classes to the body tag while in the Admin area, remember to use the admin_body_class
hook instead. Note that it's a filter which works slightly different since it passes a string of classes rather than an array, so your code would look like this:
add_filter('admin_body_class', 'my_admin_body_class');
function my_admin_body_class($classes) {
return $classes . ' my_class';
}
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.
Simply edit your theme's header.php and change the class there (manually or according to some preset logic rules).
To add more classes to the filter, just add another line that adds another value in to the array:
add_filter( 'body_class','my_body_classes' ); function my_body_classes( $classes ) {
$classes[] = 'class-name';
$classes[] = 'class-name-two';
return $classes;
}
If you just want to add class based on your page template note that WP now automatically adds per-template class to body tag.
You can also use it directly inside the WP body_class function which will append the string inside body class.
eg.
$class="custom-class";
<body <?php body_class($class); ?>>
http://codex.wordpress.org/Function_Reference/body_class