CSS Body Class for BuddyPress Group Moderators and Admins

I tend to use CSS to hide all sorts of things within the BuddyPress interface rather than unhooking functions. I find that it more quickly and flexibly accommodates my clients’ changing desires.

Today I needed to add a css body class for group moderators and admins. The goal was to hide the “Admin” button for moderators but display it for admins.

To pull it off, I added the following to my functions.php file:

// Add "bp-group-moderator" to body_class function if we are on a BuddyPress-generated page
add_filter('body_class','add_bp_group_moderator_body_classes');
function add_bp_group_moderator_body_classes($classes) {
	
	if ( bp_group_is_mod() ):
	
	// add 'bp-group-moderator' to the $classes array
	$classes[] = 'bp-group-moderator';
	// return the $classes array
	return $classes;
	
	else :
	
		// do nothing
		$classes[] = '';
		// return the $classes array
		return $classes;
		
	endif;
	
}
// Add "bp-group-admin" to body_class function if we are on a BuddyPress-generated page
add_filter('body_class','add_bp_group_admin_body_classes');
function add_bp_group_admin_body_classes($classes) {
	
	if ( bp_group_is_admin() ):
	
	// add 'bp-group-admin' to the $classes array
	$classes[] = 'bp-group-admin';
	// return the $classes array
	return $classes;
	
	else :
	
		// do nothing
		$classes[] = '';
		// return the $classes array
		return $classes;
		
	endif;
	
}

It works nicely!

I plan to release it as a plugin. Perhaps some day this will be in core. In general, I can never have too many body classes. 🙂

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

woocommerce logo

How to fix the “Warning: Class ‘Automattic\WooCommerce\StoreApi\Routes” issue in WordPress + WooCommerce

By The Mighty Mo! Design Co. | May 13, 2022

Today when I visited a customer’s website, I saw an error similar to this: etc. After trying all sorts of troubleshooting, the solution ended up being simple. Download a fresh copy of WooCommerce from WordPress.org and FTP it up to the server, replacing the existing WooCommerce files. Problem solved. Isn’t that nice? Many thanks to…

How to CSS rainbow text

By The Mighty Mo! Design Co. | March 31, 2022

Here’s a bit of plain CSS that’ll create rainbow text on your WordPress site or anywhere, really.

How to Restore a Deleted Amazon S3 Bucket

By The Mighty Mo! Design Co. | March 22, 2022

I ran into a rather serious issue recently: a human on my team (me) intentionally (but accidentally) deleted an Amazon S3 bucket that was serving files to a WordPress site. The solution to the problem follows: Cry when you realize you cannot restore a deleted S3 bucket. Search your computer, your co-workers’ computers, your former…

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…