How to Add a Special Class to Every BuddyPress Page

Sometimes I need to style everything that BuddyPress creates differently than regular WordPress stuff. For example, I might need to style all groups, forums, profile pages, etc. a certain way and have different styling for blogs and WordPress multi-site home pages.

My solution is to tap into the body_class() function and add a special class called, “buddypress” to all BuddyPress pages. Just add the following to your theme’s functions.php file:

// Add "buddypress" to body_class function if we are on a BuddyPress-generated page
add_filter('body_class','add_buddypress_body_classes');
function add_buddypress_body_classes($classes, $class) {
    if (!bp_is_blog_page()) :
        // add 'my-class' to the $classes array
	$classes[] = 'buddypress';
	// return the $classes array
	return $classes;
    
    endif;
}

Or if you need to target specific BuddyPress components, you can do it this way:

// Add "buddypress" to body_class function if we are on a BuddyPress-generated page
add_filter('body_class','add_buddypress_body_classes');
function add_buddypress_body_classes($classes, $class) {
	
	if ( 
	bp_is_profile_component() ||
	bp_is_activity_component() ||
	bp_is_blogs_component() ||
	bp_is_messages_component() ||
	bp_is_friends_component() ||
	bp_is_groups_component() ||
	bp_is_settings_component() ) : 
	
	// add 'my-class' to the $classes array
	$classes[] = 'buddypress';
	// return the $classes array
	return $classes;
	
	endif;
	
}

Hooray!

(Thanks to this thread for making me aware of the bp_is_blog_page function.)

Posted in ,

The Mighty Mo! Design Co.

RSS From Toby’s Blog

  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you.
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]
  • What content should I put on my homepage?
    I see websites as one stop of many on the sales journey, useful to help get customers from Point A to Point B in the sales process (or maybe from Point D to Point E).  If you are wondering about what to put on your homepage, start with these basic sales-related questions: Who, specifically, will…

More posts from themightymo.com

How to Connect a GoDaddy Site to ManageWP

By The Mighty Mo! Design Co. | June 27, 2022

GoDaddy owns ManageWP, and, strangely, they make it very difficult to add GoDaddy-managed WordPress sites to their ManageWP service. Thankfully, there’s a quick workaround: Visit https://yoursite.com/wp-admin/plugins.php?showWorker=1 — This will make the ManageWP “Worker” plugin visible. Copy the connection info from the ManageWP Worker plugin. Add the site per-normal on ManageWP. That’s it! I hope this…

How to check if your current page is the wp-login.php page

By The Mighty Mo! Design Co. | June 7, 2022

I realized this morning that my TMM Maintenance Mode WordPress plugin had a bug that was causing the wp-login.php page to be inaccessible. The solution was to write a simple function that checks whether or not we’re currently on a login page, and then add a call to that function in my code. Here’s the…

woocommerce logo

WooCommerce Product Image Gallery Not Loading with WP Rocket Active

By The Mighty Mo! Design Co. | June 6, 2022

Today I updated a WooCommerce site, and everything worked fine, except for the images on product pages – they were not displaying at all. After a lot of trial & error, I realized that WP Rocket was to blame. I’m not sure exactly what the issue was (though my hunch is that it had to…

RSS From Toby’s Blog

  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you.
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]
  • What content should I put on my homepage?
    I see websites as one stop of many on the sales journey, useful to help get customers from Point A to Point B in the sales process (or maybe from Point D to Point E).  If you are wondering about what to put on your homepage, start with these basic sales-related questions: Who, specifically, will…