In most cases, you tend to simply want to control the visibility of your WordPress website content for only specific users like the WP administrators and logged-in users. Restricting content or site sections access to certain parts of your website is one of the most popular ways of monetizing your content. In most cases, you may want to restrict WordPress site sections just those readers/members who pay for it. Even with the built-in WordPress feature that it offers that discourages Google and other search engines from indexing your website entirely, you can still use the other technicalities to show or hide content or site sections from the user. Talking of sections most WordPress sites use themes which are designed with page builders, others with WP widgets and editors such as Gutenberg. Based on what your site uses you could want to allow specific user roles to access some sections or make some pages visible to the general public.

In this article we will highlight several plugins that can help you achieve this functionality regardless of whether your theme is based on specific designs. Therefore, here are a number of plugins to help you out in creating a private section on your WordPress site.

Jetpack Widget Visibility

Jetpack for WordPress is a great plug-in, one of its most commonly used features by most common sites would be the Widget Visibility module. It allows you to select where your widgets are shown, and where they aren’t displayed. This feature is activated by going to Jetpack > Settings > Writing, scroll down to the Widgets section, and hitting the switch labelled Enable widget visibility controls to display widgets only on particular posts or pages. You can enable visibility to either show or hide in five aspects that is: page type, category, tag, date, and author.

If menu and If Widget

Other most common visibility plugins for WordPress sites section are the If plugins by the Layered company. To start with, the If menu is one of the best visibility plugins in case you want to hide your menus sections within your site. The plugin is easy to use, whereby every menu item has its own options “Change menu item visibility”  that enables the selection of visibility rules. With this plugin users can display a menu item only if User is logged in, hide menu items if it’s on a mobile device, display menu items for either admins or editors, hide Login or Register links for Logged in Users among many other functionalities. The plugin comes with both basic and advanced visibility options whereby the advanced features may require a premium plan.

On the other side, with the If widget you can control on which pages widgets are displayed, similar to the Jetpack options. With no technicalities needed, users can show or hide widgets with custom visibility rules. Similar to the If menu, each widget will have an option “Enable Visibility Rules” which will enable the selection of visibility rules. The plugin is free but has a paid version which provides more visibility rules and priority support.

Visibility Logic for Elementor

The visibility logic plugin by SeventhQueen works best with the Elementor plugin. With the page builder it mostly uses widgets/modules to design your site content. In any case your site is based on membership, you can use the plugin to hide or show any Elementor widget based on whether a user is logged in, logged out or a specific role. Users of the plugin can also hide an entire content widget part too or show it just for specific users.  Based on your visibility setting for each widget you can restrict rendering elements on front-end, meaning that you can hide or show any Elementor widget based on the user role(Subscriber, Author, Administrator, etc), if the user is Logged our or if the user is Logged in.

Product Visibility by User Role for WooCommerce

Product Visibility by User Role lets you show/hide WooCommerce products depending on the customer’s user role. To enable the plugin settings you can go to the “WooCommerce > Settings > Product Visibility”. Also to set user roles for each product, check the “Product visibility” meta box on each product’s edit page. Under the general options, Here you can choose how products should be hidden: Hide catalog visibility, hide menu items, hide product terms and much more. It has both the free version where one can set included or excluded user roles for each product individually. If you want to set user roles visibility options in bulk you can check out the pro version.

Dynamic Visibility for Elementor

The Elementor’s Dynamic Content with Dynamic Visibility plugin from dynamic.coo makes managing your page content a breeze. This plugin enables you to decide when to cover up or show any Widgets or Sections in your pages just like the visibility logic for Elementor. It’s an Elementor add-on, which means you must install Elementor. Below are some of the common features it has: hiding elements for future publishing, setting a date like day of the week or an hour and decide when each element will be visible You can also limit visibility for certain user roles, user meta, IP, referral or users. Additionally users can set a fallback text ( like ‘Coming soon’) for hidden elements that will be displayed in place of the element.


Site content visibility is really essential depending on your goals. It may have both merits and demerits either to improve user experience or to easily lose visitors in specific content sections. Limited access websites also come in useful to share internal pages within a company or organization. With the above plugins you can manage how your site users access your website by either limiting them to certain sections or even on different devices. Please share your thoughts on how you manage visibility on your site.

No Comments
Comments to: 6 Most Useful Visibility Plugins For User Roles in WordPress

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Privacy Preference Center


    We use third-party analytics services to help understand your usage of our services. In particular, we provide a limited amount of your information (such as sign-up date and some personal information like your email address) to 3rd party service and utilize it to collect data for analytics purposes when you visit our website or use our product.

    __cfduid,intercom-id-*, intercom-lou-*, intercom-lou-*, intercom-session-*, intercom-session-*, intercom-visitor-session-*


    These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.

    All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

    _ga, _gat_gtag_UA_106868094_1, _gid



    These cookies are necessary for the website to function and cannot be turned off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.

    You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

    PHPSESSID, wordpress_logged_in_*, wordpress_sec_*, wp-settings-time-1, gdpr[privacy_bar], gdpr[allowed_cookies], gdpr[consent_types]