Show Content Based On Role

Recommendation

Learn why I switched to WPCodeBox for managing code snippets for myself and for my clients.

Instructions

  1. Copy the snippet.
  2. Paste the snippet into WPCodeBox as a new PHP snippet.
  3. Follow any customization notes provided for the snippet.
  4. Save the snippet.
  5. Enable the snippet.
  6. Test.

Snippet

Customization Notes

  1. Change the ‘role_A’ and “role_B’ entries to match the roles of users you want to allow to see the content.
  2. Add the ‘showbyrole’ CSS class to any elements on your website you wish to filter.

 If you wish to add more roles to the snippet, see the examples below.

				
					// SHOW CONTENT BASED ON ROLE
add_action('init','show_content_by_role_create_the_css');

function show_content_by_role_create_the_css(){

$user = wp_get_current_user();

if(! in_array('role_A', $user->roles) & ! in_array('role_B', $user->roles)) {

add_action( 'wp_head', function () {

echo '<style type="text/css">.showbyrole { display: none !important;} 

</style>';
});

}
}
				
			

3 Roles

				
					if(! in_array('role_A', $user->roles) & ! in_array('role_B', $user->roles) & ! in_array('role_C', $user->roles)) {
				
			

4 Roles

				
					if(! in_array('role_A', $user->roles) & ! in_array('role_B', $user->roles) & ! in_array('role_C', $user->roles) & ! in_array('role_D', $user->roles)) {
				
			

Example: WooCommerce Product Vendors

The following code snippet will hide the WooCommerce Product Vendors ‘Vendor Dashboard’ endpoint (i.e. menu item), for all roles except the ‘Vendor Admin’ and ‘Vendor Manager’ roles.

For more information, check out the Build a Marketplace with MyListing and WooCommerce Product Vendors guide to see how to easily create an additional revenue stream for your website.

				
					// SHOW CONTENT BASED ON ROLE
add_action('init','show_content_by_role_create_the_css');

function show_content_by_role_create_the_css(){

$user = wp_get_current_user();

if(! in_array('wc_product_vendors_admin_vendor', $user->roles) & ! in_array('wc_product_vendors_manager_vendor', $user->roles)) {

add_action( 'wp_head', function () {

echo '<style type="text/css">.showbyrole { display: none !important;} 

</style>';
});

}
}
				
			

WooCommerce Subscriptions Ready

The latest version of the WooCommerce Subscriptions plugin is included (unlicensed) and once you have a Starter Site in hand, you can easily put in your own pricing, package features, graphics, etc.

Should you not wish to use WooCommerce Subscriptions, you can simply turn the Listing Subscription packages into standard MyListing packages in just a few clicks and be on your way.

  • WooCommerce Endpoint Design
  • WooCoommerce Subscriptions Setup
  • Listing Subscription Packages
  • Listing Subscription Switching
  • Stripe Payment Gateway Plugin
  •  and more…

Premium Assets

Get licensed, premium plugins, valued at over $600 in the first year alone, making a Starter Site investment a no-brainer.

You will get licensed copies of all the plugins listed below, with the exception of the WooCommerce Subscriptions and WooCommerce Product Vendors, and the licenses are yours to keep, for as long as the plugins remain on your website.

  • Elementor Pro ($49)
  • Perfmatters ($25)
  • Permalink Manager Pro ($45)
  • SEOPress Pro ($39)
  • UiPress ($39)
  • WooCommerce Product Vendors ($79) 
  • WooCommerce Subscriptions ($199)
  • WP Rocket ($49)