Show Content Based On Role

Building better MyListing websites. One code snippet at a time.

Overview

Our Show Content Based On Role code snippet easily hides elements unless the users of your MyListing website hold a certain role.

Implementation

  1. Grab the code snippet.
  2. Follow the provided instructions.
  3. Save your changes.
				
					//// INSTRUCTIONS:
//// 1. Copy and paste the code snippet below into the child theme's functions.php file.
//// NOTE: You can edit the functions.php file from your WordPress dashboard (Appearance > Theme Editor) or via FTP.
//// 2. Change the 'role_A' and "role_B' entries to match the roles of users you want to allow to see the content.
//// 3. Add the 'showbyrole' CSS class to any elements on your website you wish to filter.


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


--------------------------- CODE SNIPPET IS BELOW THIS LINE --------------------------- 

// 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 our Build a Marketplace with MyListing and WooCommerce Product Vendors guide to see how to easily create an additional revenue stream for your website.

				
					//// INSTRUCTIONS:
//// 1. Copy and paste the code snippet below into the child theme's functions.php file.
//// NOTE: You can edit the functions.php file from your WordPress dashboard (Appearance > Theme Editor) or via FTP.
//// 2. Add the 'showbyrole' CSS class to any elements on your website you wish to filter.

--------------------------- CODE SNIPPET IS BELOW THIS LINE --------------------------- 

// 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.

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

Note: The latest version of the WooCommerce Subscriptions plugin is included, but you need to purchase your own license or sign up for a qualifying MyListing Website Care plan if you wish to receive future plugin updates and support.

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.

  • Admin 2020 ($39)
  • Crocoblock Suite ($130)
  • Elementor Pro ($49)
  • Perfmatters ($25)
  • Permalink Manager Pro ($45)
  • SEOPress Pro ($39)
  • WooCommerce Product Vendors ($79) 
  • WooCommerce Subscriptions ($199)
  • WP Rocket ($49)