{"id":32760,"date":"2021-04-02T18:24:11","date_gmt":"2021-04-02T18:24:11","guid":{"rendered":"https:\/\/beastthemes.com\/?p=32760"},"modified":"2021-04-02T18:24:11","modified_gmt":"2021-04-02T18:24:11","slug":"tips-and-tricks-for-wordpress-body-class","status":"publish","type":"post","link":"https:\/\/beastthemes.com\/new\/2021\/04\/02\/tips-and-tricks-for-wordpress-body-class\/","title":{"rendered":"Tips and Tricks for Theme Developers about WordPress Body Class"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">looking for new ways to use CSS in your themes?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress automatically adds CSS classes&nbsp;<strong>that you simply&nbsp;<\/strong>can utilize in your themes. Several&nbsp;<strong>of those&nbsp;<\/strong>CSS classes are automatically added to the &lt;body&gt; section&nbsp;<strong>of each&nbsp;<\/strong>page on a WordPress site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article,&nbsp;<strong>we&#8217;ll&nbsp;<\/strong>explain the WordPress body class with tips and tricks for aspiring theme designers to utilize them in their projects.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What is WordPress Body Class?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Body class (body_class)&nbsp;<strong>may be a&nbsp;<\/strong>WordPress function&nbsp;<strong>that permits&nbsp;<\/strong>you to assign CSS classes to the body element.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The HTML body tag normally begins&nbsp;<strong>during a&nbsp;<\/strong>theme\u2019s header.php file, which loads on every page.&nbsp;<strong>this enables&nbsp;<\/strong>you to dynamically&nbsp;<strong>find out&nbsp;<\/strong>which page a user is viewing&nbsp;<strong>then&nbsp;<\/strong>add the CSS classes accordingly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normally most starter themes and frameworks already include the body class function inside the HTML body tag. However, if your theme&nbsp;<strong>doesn&#8217;t&nbsp;<\/strong>have it, then&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>add it by modifying the body tag like this:<\/p>\n\n\n\n<div><div id=\"highlighter_269178\" class=\"syntaxhighlighter  php\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"php plain\">&lt;body &lt;?php body_class(<\/code><code class=\"php variable\">$class<\/code><code class=\"php plain\">); ?&gt;&gt;<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Depending on&nbsp;<strong>the sort&nbsp;<\/strong>of page being displayed, WordPress automatically adds&nbsp;<strong>the acceptable&nbsp;<\/strong>classes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, if&nbsp;<strong>you&#8217;re&nbsp;<\/strong>on an archive page, WordPress will automatically add archive class to the body element. It does that for&nbsp;<strong>almost&nbsp;<\/strong>every page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are some examples of common classes that WordPress might add, depending on which page is being displayed:<\/p>\n\n\n\n<div><div id=\"highlighter_413744\" class=\"syntaxhighlighter  css\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><div class=\"line number2 index1 alt1\" style=\"height: 16px !important;\">2<\/div><div class=\"line number3 index2 alt2\" style=\"height: 16px !important;\">3<\/div><div class=\"line number4 index3 alt1\" style=\"height: 16px !important;\">4<\/div><div class=\"line number5 index4 alt2\" style=\"height: 16px !important;\">5<\/div><div class=\"line number6 index5 alt1\" style=\"height: 16px !important;\">6<\/div><div class=\"line number7 index6 alt2\" style=\"height: 16px !important;\">7<\/div><div class=\"line number8 index7 alt1\" style=\"height: 16px !important;\">8<\/div><div class=\"line number9 index8 alt2\" style=\"height: 16px !important;\">9<\/div><div class=\"line number10 index9 alt1\" style=\"height: 16px !important;\">10<\/div><div class=\"line number11 index10 alt2\" style=\"height: 16px !important;\">11<\/div><div class=\"line number12 index11 alt1\" style=\"height: 16px !important;\">12<\/div><div class=\"line number13 index12 alt2\" style=\"height: 16px !important;\">13<\/div><div class=\"line number14 index13 alt1\" style=\"height: 16px !important;\">14<\/div><div class=\"line number15 index14 alt2\" style=\"height: 16px !important;\">15<\/div><div class=\"line number16 index15 alt1\" style=\"height: 16px !important;\">16<\/div><div class=\"line number17 index16 alt2\" style=\"height: 16px !important;\">17<\/div><div class=\"line number18 index17 alt1\" style=\"height: 16px !important;\">18<\/div><div class=\"line number19 index18 alt2\" style=\"height: 16px !important;\">19<\/div><div class=\"line number20 index19 alt1\" style=\"height: 16px !important;\">20<\/div><div class=\"line number21 index20 alt2\" style=\"height: 16px !important;\">21<\/div><div class=\"line number22 index21 alt1\" style=\"height: 16px !important;\">22<\/div><div class=\"line number23 index22 alt2\" style=\"height: 16px !important;\">23<\/div><div class=\"line number24 index23 alt1\" style=\"height: 16px !important;\">24<\/div><div class=\"line number25 index24 alt2\" style=\"height: 16px !important;\">25<\/div><div class=\"line number26 index25 alt1\" style=\"height: 16px !important;\">26<\/div><div class=\"line number27 index26 alt2\" style=\"height: 16px !important;\">27<\/div><div class=\"line number28 index27 alt1\" style=\"height: 16px !important;\">28<\/div><div class=\"line number29 index28 alt2\" style=\"height: 16px !important;\">29<\/div><div class=\"line number30 index29 alt1\" style=\"height: 16px !important;\">30<\/div><div class=\"line number31 index30 alt2\" style=\"height: 16px !important;\">31<\/div><div class=\"line number32 index31 alt1\" style=\"height: 16px !important;\">32<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"css plain\">.<\/code><code class=\"css value\">rtl<\/code> <code class=\"css plain\">{}<\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"css plain\">.home {}<\/code><\/div><div class=\"line number3 index2 alt2\"><code class=\"css plain\">.blog {}<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"css plain\">.archive {}<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"css plain\">.date {}<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"css plain\">.search {}<\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"css plain\">.paged {}<\/code><\/div><div class=\"line number8 index7 alt1\"><code class=\"css plain\">.attachment {}<\/code><\/div><div class=\"line number9 index8 alt2\"><code class=\"css plain\">.error<\/code><code class=\"css value\">404<\/code> <code class=\"css plain\">{}<\/code><\/div><div class=\"line number10 index9 alt1\"><code class=\"css plain\">.single postid-(id) {}<\/code><\/div><div class=\"line number11 index10 alt2\"><code class=\"css plain\">.attachmentid-(id) {}<\/code><\/div><div class=\"line number12 index11 alt1\"><code class=\"css plain\">.attachment-(mime-type) {}<\/code><\/div><div class=\"line number13 index12 alt2\"><code class=\"css plain\">.author {}<\/code><\/div><div class=\"line number14 index13 alt1\"><code class=\"css plain\">.author-(user_nicename) {}<\/code><\/div><div class=\"line number15 index14 alt2\"><code class=\"css plain\">.category {}<\/code><\/div><div class=\"line number16 index15 alt1\"><code class=\"css plain\">.category-(slug) {}<\/code><\/div><div class=\"line number17 index16 alt2\"><code class=\"css plain\">.tag {}<\/code><\/div><div class=\"line number18 index17 alt1\"><code class=\"css plain\">.tag-(slug) {}<\/code><\/div><div class=\"line number19 index18 alt2\"><code class=\"css plain\">.page-parent {}<\/code><\/div><div class=\"line number20 index19 alt1\"><code class=\"css plain\">.page-child parent-pageid-(id) {}<\/code><\/div><div class=\"line number21 index20 alt2\"><code class=\"css plain\">.page-template page-template-(template file name) {}<\/code><\/div><div class=\"line number22 index21 alt1\"><code class=\"css plain\">.search-results {}<\/code><\/div><div class=\"line number23 index22 alt2\"><code class=\"css plain\">.search-no-results {}<\/code><\/div><div class=\"line number24 index23 alt1\"><code class=\"css plain\">.logged-in {}<\/code><\/div><div class=\"line number25 index24 alt2\"><code class=\"css plain\">.paged-(page number) {}<\/code><\/div><div class=\"line number26 index25 alt1\"><code class=\"css plain\">.single-paged-(page number) {}<\/code><\/div><div class=\"line number27 index26 alt2\"><code class=\"css plain\">.page-paged-(page number) {}<\/code><\/div><div class=\"line number28 index27 alt1\"><code class=\"css plain\">.category-paged-(page number) {}<\/code><\/div><div class=\"line number29 index28 alt2\"><code class=\"css plain\">.tag-paged-(page number) {}<\/code><\/div><div class=\"line number30 index29 alt1\"><code class=\"css plain\">.date-paged-(page number) {}<\/code><\/div><div class=\"line number31 index30 alt2\"><code class=\"css plain\">.author-paged-(page number) {}<\/code><\/div><div class=\"line number32 index31 alt1\"><code class=\"css plain\">.search-paged-(page number) {}<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">As&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>see, by having such&nbsp;<strong>a strong&nbsp;<\/strong>resource at hand,&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>entirely customize your WordPress page by using just CSS.&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>customize specific author profile pages, date-based archives, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That being said, now let\u2019s take&nbsp;<strong>a glance&nbsp;<\/strong>at how and when would&nbsp;<strong>you employ&nbsp;<\/strong>the body class.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How to Add Custom Body Classes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress&nbsp;<strong>features a&nbsp;<\/strong>filter&nbsp;<strong>that you simply&nbsp;<\/strong>can utilize&nbsp;<strong>to feature&nbsp;<\/strong>custom body classes when needed.&nbsp;<strong>we&#8217;ll&nbsp;<\/strong>show&nbsp;<strong>you ways&nbsp;<\/strong><strong>to feature&nbsp;<\/strong>a body class using the filter before showing you&nbsp;<strong>the precise&nbsp;<\/strong>use case scenario&nbsp;<strong>with great care&nbsp;<\/strong>everyone&nbsp;<strong>are often&nbsp;<\/strong>on&nbsp;<strong>an equivalent&nbsp;<\/strong>page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because body classes are theme specific,&nbsp;<strong>you&#8217;d&nbsp;got to&nbsp;<\/strong>add&nbsp;<strong>the subsequent&nbsp;<\/strong>code to your theme\u2019s functions.php file.<\/p>\n\n\n\n<div><div id=\"highlighter_662205\" class=\"syntaxhighlighter  php\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><div class=\"line number2 index1 alt1\" style=\"height: 16px !important;\">2<\/div><div class=\"line number3 index2 alt2\" style=\"height: 16px !important;\">3<\/div><div class=\"line number4 index3 alt1\" style=\"height: 16px !important;\">4<\/div><div class=\"line number5 index4 alt2\" style=\"height: 16px !important;\">5<\/div><div class=\"line number6 index5 alt1\" style=\"height: 16px !important;\">6<\/div><div class=\"line number7 index6 alt2\" style=\"height: 16px !important;\">7<\/div><div class=\"line number8 index7 alt1\" style=\"height: 16px !important;\">8<\/div><div class=\"line number9 index8 alt2\" style=\"height: 16px !important;\">9<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"php keyword\">function<\/code> <code class=\"php plain\">my_class_names(<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">) {<\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php comments\">\/\/ add 'class-name' to the $classes array<\/code><\/div><div class=\"line number3 index2 alt2\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] = <\/code><code class=\"php string\">'wpb-class'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php comments\">\/\/ return the $classes array<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"php plain\">}<\/code><\/div><div class=\"line number7 index6 alt2\">&nbsp;<\/div><div class=\"line number8 index7 alt1\"><code class=\"php comments\">\/\/Now add test class to the filter<\/code><\/div><div class=\"line number9 index8 alt2\"><code class=\"php plain\">add_filter(<\/code><code class=\"php string\">'body_class'<\/code><code class=\"php plain\">,<\/code><code class=\"php string\">'my_class_names'<\/code><code class=\"php plain\">);<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The above code will add a class \u201cwpb-class\u201d to the body tag on every page on your website. That\u2019s not so bad, right?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now you can utilize this CSS class in your theme\u2019s stylesheet directly. If you are working on your own website, then you can also add the CSS using the&nbsp;<a href=\"https:\/\/www.wpbeginner.com\/plugins\/how-to-easily-add-custom-css-to-your-wordpress-site\/\">custom CSS feature<\/a>&nbsp;in the theme customizer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Adding Body Class Using a WordPress Plugin<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you are not working on a client project and don\u2019t want to write code, then this method would be easier for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first thing you need to do is install and activate the&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/wordpress.org\/plugins\/wp-custom-body-class\/\" target=\"_blank\" class=\"rank-math-link\">Custom Body Class<\/a>&nbsp;plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Upon activation, you need to visit&nbsp;<strong>Settings \u00bb Custom Body Class<\/strong>&nbsp;page. From here you can configure plugin settings.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"550\" height=\"311\" src=\"https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/custombodyclass-settings.png\" alt=\"WordPress Body Class one\" class=\"wp-image-32766\" title=\"WordPress Body Class one\" srcset=\"https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/custombodyclass-settings.png 550w, https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/custombodyclass-settings-300x170.png 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can select post types where&nbsp;<strong>you would like&nbsp;<\/strong>to enable body class feature and who can access it. Don\u2019t forget to click on the save changes button to store your settings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next,&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>head over to edit any post or page on your WordPress site. On the post edit screen,&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>find&nbsp;<strong>a replacement&nbsp;<\/strong>meta&nbsp;<strong>box up&nbsp;the proper&nbsp;<\/strong>column labeled \u2018Post Classes\u2019.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"550\" height=\"310\" src=\"https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/postclasses.png\" alt=\"WordPress Body Class two\" class=\"wp-image-32767\" title=\"WordPress Body Class two\" srcset=\"https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/postclasses.png 550w, https:\/\/beastthemes.com\/new\/wp-content\/uploads\/2021\/04\/postclasses-300x169.png 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Click to add your custom CSS classes. You can add multiple classes separated by a space.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you are done, you can simply save or publish your post. The plugin will now add your custom CSS classes to the body class for that particular post or page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How to use The Body Class with Conditional Tags<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The real power of the body_class function comes when&nbsp;<strong>it&#8217;s&nbsp;<\/strong>used with the conditional tags.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These conditional tags are true or false data types that check if a condition is true or false in WordPress.&nbsp;<strong>for instance&nbsp;<\/strong>, the conditional tag is_home checks if the page currently displayed&nbsp;<strong>is that the&nbsp;<\/strong>homepage or not.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This allows theme developers&nbsp;<strong>to see&nbsp;<\/strong>if a condition is true or false before adding a custom CSS class to the body_class function.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s take&nbsp;<strong>a glance&nbsp;<\/strong>at some&nbsp;<strong>samples of&nbsp;<\/strong>using conditional tags&nbsp;<strong>to feature&nbsp;<\/strong>custom classes to the body class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s say&nbsp;<strong>you would like&nbsp;<\/strong>to style your homepage differently for logged in users with the author user role. While WordPress automatically generates a .home and .logged-in class, it&nbsp;<strong>doesn&#8217;t&nbsp;<\/strong>detect the user role or add it as&nbsp;<strong>a category&nbsp;<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now,&nbsp;<strong>this is often&nbsp;<\/strong>a scenario where&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>use the conditional tags with some custom code to dynamically add a custom class to the body class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To achieve this&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>add&nbsp;<strong>the subsequent&nbsp;<\/strong>code to your theme\u2019s functions.php file.<\/p>\n\n\n\n<div><div id=\"highlighter_797405\" class=\"syntaxhighlighter  php\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><div class=\"line number2 index1 alt1\" style=\"height: 16px !important;\">2<\/div><div class=\"line number3 index2 alt2\" style=\"height: 16px !important;\">3<\/div><div class=\"line number4 index3 alt1\" style=\"height: 16px !important;\">4<\/div><div class=\"line number5 index4 alt2\" style=\"height: 16px !important;\">5<\/div><div class=\"line number6 index5 alt1\" style=\"height: 32px !important;\">6<\/div><div class=\"line number7 index6 alt2\" style=\"height: 16px !important;\">7<\/div><div class=\"line number8 index7 alt1\" style=\"height: 16px !important;\">8<\/div><div class=\"line number9 index8 alt2\" style=\"height: 16px !important;\">9<\/div><div class=\"line number10 index9 alt1\" style=\"height: 16px !important;\">10<\/div><div class=\"line number11 index10 alt2\" style=\"height: 16px !important;\">11<\/div><div class=\"line number12 index11 alt1\" style=\"height: 16px !important;\">12<\/div><div class=\"line number13 index12 alt2\" style=\"height: 16px !important;\">13<\/div><div class=\"line number14 index13 alt1\" style=\"height: 16px !important;\">14<\/div><div class=\"line number15 index14 alt2\" style=\"height: 16px !important;\">15<\/div><div class=\"line number16 index15 alt1\" style=\"height: 32px !important;\">16<\/div><div class=\"line number17 index16 alt2\" style=\"height: 16px !important;\">17<\/div><div class=\"line number18 index17 alt1\" style=\"height: 16px !important;\">18<\/div><div class=\"line number19 index18 alt2\" style=\"height: 16px !important;\">19<\/div><div class=\"line number20 index19 alt1\" style=\"height: 16px !important;\">20<\/div><div class=\"line number21 index20 alt2\" style=\"height: 16px !important;\">21<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"php keyword\">function<\/code> <code class=\"php plain\">wpb_loggedin_user_role_class(<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">) { <\/code><\/div><div class=\"line number2 index1 alt1\">&nbsp;<\/div><div class=\"line number3 index2 alt2\"><code class=\"php comments\">\/\/ let's check if it is homepage<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"php keyword\">if<\/code> <code class=\"php plain\">( is_home() ) {<\/code><\/div><div class=\"line number5 index4 alt2\">&nbsp;<\/div><div class=\"line number6 index5 alt1\"><code class=\"php comments\">\/\/ Now let's check if the logged in user has author user role.&nbsp; <\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"php variable\">$user<\/code> <code class=\"php plain\">= wp_get_current_user();<\/code><\/div><div class=\"line number8 index7 alt1\"><code class=\"php keyword\">if<\/code> <code class=\"php plain\">( in_array( <\/code><code class=\"php string\">'author'<\/code><code class=\"php plain\">, (<\/code><code class=\"php keyword\">array<\/code><code class=\"php plain\">) <\/code><code class=\"php variable\">$user<\/code><code class=\"php plain\">-&gt;roles ) ) {<\/code><\/div><div class=\"line number9 index8 alt2\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php comments\">\/\/The user has the \"author\" role<\/code><\/div><div class=\"line number10 index9 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php comments\">\/\/ Add user role to the body class<\/code><\/div><div class=\"line number11 index10 alt2\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] = <\/code><code class=\"php string\">'author'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number12 index11 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php comments\">\/\/ Return the classes array<\/code><\/div><div class=\"line number13 index12 alt2\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/code><\/div><div class=\"line number14 index13 alt1\"><code class=\"php plain\">} <\/code><\/div><div class=\"line number15 index14 alt2\"><code class=\"php plain\">} <\/code><code class=\"php keyword\">else<\/code> <code class=\"php plain\">{ <\/code><\/div><div class=\"line number16 index15 alt1\"><code class=\"php comments\">\/\/ if it is not homepage, then just return default classes<\/code><\/div><div class=\"line number17 index16 alt2\"><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">; <\/code><\/div><div class=\"line number18 index17 alt1\"><code class=\"php plain\">}<\/code><\/div><div class=\"line number19 index18 alt2\"><code class=\"php plain\">} <\/code><\/div><div class=\"line number20 index19 alt1\">&nbsp;<\/div><div class=\"line number21 index20 alt2\"><code class=\"php plain\">add_filter(<\/code><code class=\"php string\">'body_class'<\/code><code class=\"php plain\">, <\/code><code class=\"php string\">'wpb_loggedin_user_role_class'<\/code><code class=\"php plain\">);<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Now, let\u2019s take a look at another useful example. This time we are going to check if the page displayed is a preview of a WordPress draft.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do that we will use the conditional tag is_preview and then add our custom CSS class.<\/p>\n\n\n\n<div><div id=\"highlighter_313598\" class=\"syntaxhighlighter  php\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><div class=\"line number2 index1 alt1\" style=\"height: 16px !important;\">2<\/div><div class=\"line number3 index2 alt2\" style=\"height: 16px !important;\">3<\/div><div class=\"line number4 index3 alt1\" style=\"height: 16px !important;\">4<\/div><div class=\"line number5 index4 alt2\" style=\"height: 16px !important;\">5<\/div><div class=\"line number6 index5 alt1\" style=\"height: 16px !important;\">6<\/div><div class=\"line number7 index6 alt2\" style=\"height: 16px !important;\">7<\/div><div class=\"line number8 index7 alt1\" style=\"height: 16px !important;\">8<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"php keyword\">function<\/code> <code class=\"php plain\">add_preview_class(<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">) { <\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"php keyword\">if<\/code> <code class=\"php plain\">( is_preview() )&nbsp; {<\/code><\/div><div class=\"line number3 index2 alt2\"><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] = <\/code><code class=\"php string\">'preview-mode'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"php plain\">}<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">; <\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"php plain\">}<\/code><\/div><div class=\"line number8 index7 alt1\"><code class=\"php plain\">add_filter(<\/code><code class=\"php string\">'body_class'<\/code><code class=\"php plain\">,<\/code><code class=\"php string\">'add_preview_class'<\/code><code class=\"php plain\">);<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Browser Detection and Browser Specific Body Classes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes&nbsp;<strong>you&#8217;ll&nbsp;<\/strong><strong>encounter&nbsp;<\/strong>issues where your theme&nbsp;<strong>may have&nbsp;<\/strong>additional CSS for&nbsp;<strong>a specific&nbsp;<\/strong>browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now&nbsp;<strong>the great&nbsp;<\/strong>news is that WordPress automatically detects browser upon loading&nbsp;<strong>then&nbsp;<\/strong>temporary stores this information as&nbsp;<strong>a worldwide&nbsp;<\/strong>variable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You just&nbsp;<strong>got to&nbsp;<\/strong>check if WordPress detected&nbsp;<strong>a selected&nbsp;<\/strong>browser&nbsp;<strong>then&nbsp;<\/strong>add it as a custom CSS class.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simply, copy and paste&nbsp;<strong>the subsequent&nbsp;<\/strong>code in your theme\u2019s functions.php file:<\/p>\n\n\n\n<div><div id=\"highlighter_266322\" class=\"syntaxhighlighter  php\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tbody><tr><td class=\"gutter\"><div class=\"line number1 index0 alt2\" style=\"height: 16px !important;\">1<\/div><div class=\"line number2 index1 alt1\" style=\"height: 48px !important;\">2<\/div><div class=\"line number3 index2 alt2\" style=\"height: 16px !important;\">3<\/div><div class=\"line number4 index3 alt1\" style=\"height: 16px !important;\">4<\/div><div class=\"line number5 index4 alt2\" style=\"height: 16px !important;\">5<\/div><div class=\"line number6 index5 alt1\" style=\"height: 16px !important;\">6<\/div><div class=\"line number7 index6 alt2\" style=\"height: 16px !important;\">7<\/div><div class=\"line number8 index7 alt1\" style=\"height: 16px !important;\">8<\/div><div class=\"line number9 index8 alt2\" style=\"height: 16px !important;\">9<\/div><div class=\"line number10 index9 alt1\" style=\"height: 16px !important;\">10<\/div><div class=\"line number11 index10 alt2\" style=\"height: 16px !important;\">11<\/div><div class=\"line number12 index11 alt1\" style=\"height: 16px !important;\">12<\/div><div class=\"line number13 index12 alt2\" style=\"height: 16px !important;\">13<\/div><div class=\"line number14 index13 alt1\" style=\"height: 16px !important;\">14<\/div><div class=\"line number15 index14 alt2\" style=\"height: 16px !important;\">15<\/div><div class=\"line number16 index15 alt1\" style=\"height: 16px !important;\">16<\/div><div class=\"line number17 index16 alt2\" style=\"height: 16px !important;\">17<\/div><div class=\"line number18 index17 alt1\" style=\"height: 16px !important;\">18<\/div><div class=\"line number19 index18 alt2\" style=\"height: 16px !important;\">19<\/div><\/td><td class=\"code\"><div class=\"container\"><div class=\"line number1 index0 alt2\"><code class=\"php keyword\">function<\/code> <code class=\"php plain\">wpb_browser_body_class(<\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">) { <\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"php keyword\">global<\/code> <code class=\"php variable\">$is_iphone<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_chrome<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_safari<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_NS4<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_opera<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_macIE<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_winIE<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_gecko<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_lynx<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_IE<\/code><code class=\"php plain\">, <\/code><code class=\"php variable\">$is_edge<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number3 index2 alt2\">&nbsp;<\/div><div class=\"line number4 index3 alt1\"><code class=\"php keyword\">if<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_iphone<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'iphone-safari'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_chrome<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'google-chrome'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_safari<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'safari'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_NS4<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'netscape'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number8 index7 alt1\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_opera<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'opera'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number9 index8 alt2\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_macIE<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'mac-ie'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number10 index9 alt1\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_winIE<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'windows-ie'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number11 index10 alt2\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_gecko<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'firefox'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number12 index11 alt1\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_lynx<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'lynx'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number13 index12 alt2\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_IE<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'internet-explorer'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number14 index13 alt1\"><code class=\"php keyword\">elseif<\/code> <code class=\"php plain\">(<\/code><code class=\"php variable\">$is_edge<\/code><code class=\"php plain\">)&nbsp;&nbsp;&nbsp; <\/code><code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] =<\/code><code class=\"php string\">'ms-edge'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number15 index14 alt2\"><code class=\"php keyword\">else<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">[] = <\/code><code class=\"php string\">'unknown'<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number16 index15 alt1\"><code class=\"php spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code>&nbsp;<\/div><div class=\"line number17 index16 alt2\"><code class=\"php keyword\">return<\/code> <code class=\"php variable\">$classes<\/code><code class=\"php plain\">;<\/code><\/div><div class=\"line number18 index17 alt1\"><code class=\"php plain\">}<\/code><\/div><div class=\"line number19 index18 alt2\"><code class=\"php plain\">add_filter(<\/code><code class=\"php string\">'body_class'<\/code><code class=\"php plain\">,<\/code><code class=\"php string\">'wpb_browser_body_class'<\/code><code class=\"php plain\">);<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">You can then use classes like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\t\n.ms-edge .navigation {some item goes here}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If it is a small padding or margin issue, then&nbsp;<strong>this is often&nbsp;a reasonably&nbsp;<\/strong>easy way of fixing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are definitely&nbsp;<strong>more&nbsp;<\/strong>scenarios where using the body_class function can&nbsp;<strong>prevent&nbsp;<\/strong>from writing lengthy lines of code.&nbsp;<strong>for instance&nbsp;<\/strong>, if&nbsp;<strong>you&#8217;re&nbsp;<\/strong><strong>employing a&nbsp;<\/strong>theme framework like Genesis, then&nbsp;<strong>you&#8217;ll&nbsp;<\/strong>use it&nbsp;<strong>to feature&nbsp;<\/strong>custom classes in your child theme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can use the body_class function&nbsp;<strong>to feature&nbsp;<\/strong>CSS classes for full-width page layouts, sidebar content, header and footers, etc.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>looking for new ways to use CSS in your themes? WordPress automatically adds CSS classes&nbsp;that you simply&nbsp;can utilize in your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":32769,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[20,24],"tags":[31,32],"class_list":["post-32760","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-beginners-guide","category-wordpress","tag-body-class","tag-wordpress-body-class"],"_links":{"self":[{"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/posts\/32760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/comments?post=32760"}],"version-history":[{"count":0,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/posts\/32760\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/media\/32769"}],"wp:attachment":[{"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/media?parent=32760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/categories?post=32760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beastthemes.com\/new\/wp-json\/wp\/v2\/tags?post=32760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}