The WBComDesigns BuddyPress Private Community Pro is a plugin designed to transform a WordPress site into a secluded and exclusive social space where user interactions remain private and secure. This extension seamlessly integrates with BuddyPress, fortifying communities by restricting unauthorized access to precious content and ensuring that only approved members can participate in discussions and activities.

Plugin Version: 3.0.0
 
WordPress plugin BuddyPress Private Community Pro

Plugin Features

Offering a robust suite of privacy features, BuddyPress Private Community Pro enforces access control with precision, making sure only registered members can view posts or interact within the community. Any attempt to access content by anonymous users is thwarted, effectively shielding sensitive discussions and preserving the sanctity of user data. These features collectively elevate the level of privacy, thus enabling community administrators to cultivate environments where members feel secure to share personal experiences and insights.

Furthermore, it enhances the user experience by allowing community moderators to tailor login and registration processes for seamless integration. By offering customizable front-end components, it simplifies user engagement, permitting administrators to welcome users with personalized messages or special access paths, depending on user roles or statuses. This personalization is key to ensuring consistency and satisfaction as each user progresses through different phases of membership or community involvement.

Another standout capability offered through the platform is its effective management of restricted content. Site administrators have the flexibility to shield entire sections or specific pages from public view, while still maintaining the ability to highlight these features to potential members through teasers or branded outreach methods. This controlled visibility serves the dual purpose of enticing interest while simultaneously safeguarding community interactions until a user commits to full membership.

On the backend, software design emphasizes ease of administration without compromising complexity or depth of control. With an intuitive interface, community managers can effortlessly audit membership requests, approve or deny entry, and monitor user activity through comprehensive reporting mechanisms. These extensive tools support meticulous oversight, empowering managers to curate and sustain a dynamic yet secure environment.

Synergistically combining SEO and user management frameworks, BuddyPress Private Community Pro not only ensures site discoverability but also aids in organizing memberships in a manner that boosts interaction and user satisfaction. By aligning technical features with strategic goals, administrators are equipped with the necessary resources to create thriving communities that serve both the platform’s and its users’ needs effectively.

Specifications:

Release date: 20-01-2017
Last updated: 30-12-2024
Type: Paid
License: GPL 
Subject: Clients & Communities for BuddyPress
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: WBComDesigns

Rating:
4.4590163934426 1 1 1 1 1 (61 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

BuddyPress Private Community Pro Setup Guide for a Private WordPress Community

BuddyPress Private Community Pro is not meant for simply hiding a couple of pages behind a login form. In this guide, we will walk through how to build a controlled private area on top of BuddyPress or BuddyBoss: which dependencies to verify, how to enable baseline protection, how to tie access to roles and membership levels, how to require members to complete their profile, and how to confirm that restricted sections are truly unavailable to unauthorized users.

This guide is written for community owners, WordPress administrators, agency technical specialists, and managers of learning platforms. It does not cover purchasing, licensing, or bypassing activation. We assume you already have the installation package and that your goal is to deploy the plugin safely on a live site or on a staging copy before pushing changes to production.

The core idea is simple: a well-built private BuddyPress site is not controlled by a single toggle, but by a set of coordinated rules. A guest visitor, a new member, a member with an incomplete profile, a paid member, an administrator, a moderator, and a regular subscriber should all get different responses from the system. If those responses are not tested separately, privacy remains only an intention.

Cover image for the BuddyPress Private Community Pro guide showing a private community and the access outcome
The cover highlights the main objective of this guide: login, an access rule, and the visible outcome inside a private community.

What Problem This Plugin Solves on a Community Site

Standard BuddyPress adds a social layer to WordPress: profiles, activity feeds, groups, friends, private messages, notifications, and related pages. That is enough for an open club or a public social platform. But as soon as the community becomes paid, educational, corporate, or private, a different question appears: who exactly is allowed to view a specific part of the community and perform a specific action.

BuddyPress Private Community Pro is built to control that exact layer. According to official Wbcom Designs materials, the plugin extends the free Private Community for BuddyPress and adds restrictions by membership level, profile visibility controls, profile completion progress, and rules for tabs, groups, friendships, activity, and messages. That distinction matters: the product does not replace BuddyPress, and it does not turn WordPress into a standalone subscription platform. It sits between your existing community, WordPress roles, BuddyPress components, and, if used, an external membership plugin.

In practice, this helps in several common situations. A private course can keep its sales pages public while restricting the cohort group, member directory, and discussions. A paid community can give entry-level members access to a general area, while higher-tier members get access to separate groups and profile tabs. A corporate portal can show employees one set of pages while hiding some groups from contractors. An internal club can require a completed profile before allowing access to communication features.

The key difference from a basic "restrict this page" setup is that a BuddyPress community does not live only on standalone pages. It includes dynamic URLs, profile tabs, groups with different visibility states, activity items, friendship buttons, and messaging forms. If you restrict only the directory page, a user may still reach an individual profile, see an activity snippet, open a link from an email, or try to perform an action directly. That is why your setup should start from a component map, not from a random list of URLs.

The practical goal of configuration is not to "hide everything," but to define a normal user journey: what a guest sees, what a logged-in member sees, what changes after the profile is completed, and which access opens after the required membership level is assigned.

It is important to separate confirmed features from cautious conclusions right away. Documentation and product pages confirm support for BuddyPress/BuddyBoss, restrictions for pages, custom post types, and components, profile privacy, profile progress, custom notices, group restrictions, and limits for friendships and messages. Support for a specific membership plugin depends on what is actually installed on the site. So before deployment, you cannot just enable every restriction and expect the correct behavior. You need to verify the active membership engine, roles, pages, component URLs, cache, and behavior across test accounts.

Where a Private Community Model Makes Sense and Where It Does Not

This plugin is most useful when your community has multiple access states. If the site is built as an open discussion platform where public indexing of profiles and activity drives growth, strict privacy can work against that goal. But if the community includes course discussions, private expertise, internal announcements, employee profiles, paid groups, or private messages, access control becomes part of the product rather than an extra layer.

Sites Where the Plugin Usually Fits Well

For education-focused projects, the combination of "course - group - profile - messages" is especially useful. A member registers or buys access, enters the group for their cohort, completes their profile, and starts interacting. Here, BuddyPress Private Community Pro helps not only by restricting the group, but also by reducing chaos: students do not see other cohorts, cannot post in restricted areas until their profile is complete, and administrators can show clear messages for each restriction.

For paid clubs, the value lies in access tiers. One member may only need the general feed, another needs access to an expert group, and a third needs private messages and restricted materials. The Wbcom Designs product page specifically highlights support for multiple membership engines, including Paid Memberships Pro, MemberPress, LearnDash, LifterLMS, WooCommerce Memberships, Restrict Content Pro, WishList Member, GamiPress, s2Member, and Memberium. That does not make the plugin a checkout module or a subscription system, but it does let you use existing levels as the source of access decisions.

For corporate portals, role-based restrictions are especially useful. A contractor may see only the project group, an employee may see departments and general announcements, HR may access directories and profiles, and an administrator may access everything. In that kind of setup, it is important not to confuse a WordPress role with an actual job title. The WordPress role should remain a technical permission set, while business-level access is better modeled with separate roles, memberships, or groups so that users do not receive unnecessary administrative capabilities.

When Another Solution Is a Better Fit

The plugin may be unnecessary if the site does not use BuddyPress or BuddyBoss. If all you need is to restrict individual WordPress posts, a standard content restriction plugin that works with the editor, categories, and post rules is usually a simpler choice. If your goal is full subscription sales, recurring payments, coupons, email flows, invoices, and a billing dashboard, you need a dedicated membership plugin or a WooCommerce extension. In that setup, BuddyPress Private Community Pro controls access to the social layer, not the financial logic itself.

You should also avoid treating the product as the only security measure for a site that stores sensitive personal data. It helps manage visibility and access within WordPress, but it does not replace permission audits, backups, updates, HTTPS, proper role design, login protection, or server configuration. In a private community, all of those measures need to work together.

How to Tell Whether the Product Fits Your Current Need
Use Case Why It Fits or Does Not Fit What to Check in Advance
Paid BuddyPress community The plugin ties access to community components to membership levels, provided the chosen engine is supported. The active membership plugin, the levels, and test users with different membership tiers.
Course with cohort groups You can restrict groups and actions, and also require a completed profile before full participation. The group structure, student roles, the post-login flow, and course page behavior.
Regular blog with restricted articles The product may be overkill if there are no BuddyPress components involved. Whether you actually need social privacy or simple content restriction is enough.
Corporate intranet Role-based rules help separate visibility for groups, messages, and profiles. The role list, public pages, administrator access, and an emergency login path.

What to Check Before Installing It on WordPress

Before installation, it is worth spending time on a site map. In a private community, problems rarely look like "the plugin does not work at all." More often, one component is restricted while a related dynamic page remains open; the login form is available but registration is not; a user with the correct membership level cannot enter a group; or cache serves a guest a page that should only be visible to a member.

Official Wbcom Designs system requirements list WordPress and PHP as the required foundation, along with support for modern browsers and multiple devices. For a live site, that is not enough. You need to verify the full stack in practice: the WordPress version, active BuddyPress or BuddyBoss installation, theme, caching plugin, membership engine, login and registration plugins, login, registration, and activation pages, permalink structure, indexing rules, and test roles.

Minimum Technical Preparation

Start with a site copy or a separate staging environment. This is especially important if the community is already active and members are receiving emails, notifications, course access, or group discussions. Restricting access can affect many links: menu items, BuddyPress notifications, membership plugin emails, widgets, search, profile cards, and direct URLs.

  • Create a backup of files and the database before enabling restrictions.
  • Confirm that BuddyPress or BuddyBoss is active and that the required components are actually enabled: profiles, groups, activity, friendships, and messages.
  • Make a list of the pages that must remain public: the homepage, course overview, pricing, terms, contacts, login, registration, and password recovery.
  • Create at least three test accounts: a guest who is not logged in, a regular registered member, and a member with the required access level.
  • If you use Paid Memberships Pro, MemberPress, LearnDash, LifterLMS, WooCommerce Memberships, or another supported engine, create a test level in advance and assign it to a user.
  • Temporarily clear or disable aggressive caching for login pages, registration pages, member directories, groups, and the activity feed.

Build the Access Map Before Enabling Rules

It is useful to create a table in the format "object - who can see it - what happens on denial." That prevents the common mistake of turning on every checkbox in sight. For example, the member directory may be restricted for guests but visible to all logged-in users. Individual profiles may be visible only to members, while a specific profile tab is available only to a premium tier. The activity feed may be hidden from guests, while posting to the feed may require a completed profile or a minimum number of friends.

That map should align with the content strategy of the site. If the blog is important for SEO and attracting new members, do not close it entirely without a reason. If a private group is part of the value of a paid plan, check not only the group page, but also join buttons, the group directory, notifications, direct links, and denial messages.

A required step before enabling restrictions: write down which pages and components must remain public. Without that list, a full protection mode can easily block necessary login or marketing pages.

Installation and Initial Verification Without Putting the Community at Risk

BuddyPress Private Community Pro installs like a standard WordPress plugin. Wbcom Designs documentation for both the Pro version and the free Private Community plugin describes the usual flow: upload the archive in the plugins section, activate it, and then open the Wbcom settings area. For the Pro version, it is important to remember that it extends the free Private Community for BuddyPress plugin, so the base plugin must be installed and active before you enable the Pro add-on.

Installation Order

  1. Open the WordPress admin dashboard using an administrator account.
  2. Go to Plugins - Add New - Upload Plugin.
  3. Upload the free Private Community for BuddyPress archive, if it is not installed yet, and click Activate.
  4. Upload the BuddyPress Private Community Pro archive and activate it on top of the free plugin.
  5. Open the Wbcom settings. In the Pro documentation, the path is listed as WB Plugins - Community Pro; in the free version, you may also see the path Settings - Private Community.
  6. Do not enable every restriction at once. First, confirm that the settings pages open correctly, the active tabs are visible, and the site has not lost access to login.

If the expected menu item does not appear in the admin area after activation, check three things: whether BuddyPress or BuddyBoss is active, whether the base Private Community for BuddyPress plugin is active, and whether there is a permissions conflict with the current account. By default, WordPress ties plugin and settings management to administrative capabilities, so a user without the necessary privileges may not see the settings even when the installation itself is correct.

Initial Check After Activation

At this stage, the goal is not to lock down the site right away. You need to confirm that the plugin loads correctly, does not break the admin area, does not conflict with the theme, and can detect the community components. Open the member directory, the activity feed, a group, and a profile page in two modes: in a normal browser session as an administrator and in a private window as a guest. Before rules are enabled, visibility may remain unchanged. That is normal. You are simply recording the baseline state for comparison.

Then enable one test restriction. Choose a safe object, such as restricting the member directory for guests or adding one test page to partial protection. Save the settings, log out of WordPress in a separate window, and open the direct URL. The expected outcome is that the guest cannot see the restricted content and gets a login form, a notice, or a redirect depending on the selected rule. After logging in, the test user should reach the permitted content or a clear explanatory page if access is blocked for their role.

First-run map for BuddyPress Private Community Pro inside the WordPress admin dashboard
This flow helps you get through the initial setup without unnecessary risk: base plugin, Pro add-on, one test rule, and guest access verification.

Detailed Post-Install Setup: From Guest Access to Membership Tiers

The biggest setup mistake is mixing every type of restriction into one list. BuddyPress Private Community Pro has several separate layers, and each one answers a different question. Guest restrictions determine what a visitor sees before logging in. Role-based restrictions determine what a logged-in user can do. Membership-level restrictions tie access to an external membership engine. Profile progress determines whether a member is ready for full participation. Notices explain the denial in a way that makes the next step clear.

Start by Configuring Guest Behavior

If the site is meant to function as a private community, begin with what a guest sees. The free Private Community plugin supports full and partial protection modes, URL patterns, and a choice of what to show on restricted pages: the built-in login form, a custom form, or a redirect. Pro adds deeper rules for the BuddyPress layer, but the underlying guest-access behavior still needs to be clear and intentional.

For most projects, it is safer to start with partial protection. Keep the homepage, product or course overview, login page, registration page, terms, and contact page public. Restrict the member directory, groups, activity feed, individual profiles, and restricted pages. Full mode makes sense for an intranet or a private club where the entire site is intended only for members. But even there, you still need a safe public zone for login, password recovery, and, if registration is open, account activation.

What to Restrict First

  • Member directory, if profiles should not be publicly visible.
  • Activity feed, if discussions and updates are intended only for members.
  • Group directory, if group names themselves reveal the internal structure of the community.
  • Individual profiles, if even direct profile links should lead to a denial or a login form.
  • Custom post types, if the restricted value lives not only in BuddyPress, but also in courses, events, documents, or other materials.

After each change, test direct URLs. Do not rely only on clicking through the menu. The menu may hide a link, but the direct URL still needs to behave correctly. On a private site, that matters more than how the menu item looks.

Then Define Rules for Logged-In Users

Once the guest layer is in place, move on to restrictions for registered users. The Membership Restrictions documentation describes role selection, page and URL restrictions, redirects, BuddyPress components, group actions, friendships, and messages. The point of this layer is to separate "this person has logged in" from "this person is allowed to do everything."

For example, a user with the Subscriber role may be allowed to read the general feed but not create groups. An entry-level member may see the group directory but not join a restricted group until certain requirements are met. A new user may be able to view their own profile but not send messages to everyone. Restrictions like these help not only with privacy, but also with community quality: fewer empty profiles, fewer random messages, and fewer chaotic groups.

Settings to Handle Carefully

Do not begin by blocking all messages, friendships, and activity for regular members. A community depends on interaction. If you shut down too many actions too quickly, users will assume the site is broken. Treat restrictions as stages instead: require login and profile completion first, then allow the actions you want, and limit more sensitive actions by role or caps where appropriate.

Be especially careful with redirects. If every user without access is sent to the same page, they may not understand what is actually restricted: the membership level, the profile, the group, the action, or an incomplete profile. In some cases, it is better to show a clear message at the point of denial. Redirects are useful when you want to send a guest to the login page or to an introductory page for the private club.

Set Up Denial Messages Before Launch

The General Notices section in the documentation is not just a cosmetic feature. It helps reduce support load. The plugin lets you define messages for cases where a user cannot post activity, leave a comment, create or join a group, perform a friendship action, or send a message. If you leave the default message in place, the user often will not understand what they need to do next.

A good message has three parts: the reason, the next step, and a calm verification step. For example: "To post in the cohort group, complete the required profile fields and upload a profile photo. After saving your profile, return to the group and refresh the page." Do not promise access if it still depends on membership level. A safer version would be: "If access does not open after payment or after a level is assigned, log out and log back in, then contact support."

Diagram showing the relationship between guest restrictions, roles, and membership levels in Community Pro
The plugin is easier to configure in layers: guest, logged-in member, WordPress role, membership level, and profile state.

Guest Restrictions, Pages, and Custom Post Types

The guest layer is the first visible layer of privacy. It applies to anyone who has not logged in yet: a search visitor, someone following a random link from an email, a member after logging out, a bot, a messenger link, or a user whose session has expired. If this layer is configured too aggressively, the private site turns into a frustrating maze. If it is too loose, private elements start appearing where they should not.

Across official Wbcom Designs materials for both the free and Pro product lines, three ideas come up repeatedly: you can restrict the entire site, you can restrict selected URLs, and you can use URL patterns for entire sections. The Pro documentation also covers restrictions for BuddyPress pages and custom post types. That makes it practical to build the guest-access map from the external structure of the site: which pages should attract visitors, which should explain participation terms, which should support login, and which belong to the restricted social core.

Full Mode and Partial Mode

Full mode is useful when the entire site is meant to function as a private space. That could be an intranet, an invite-only club, an internal knowledge base, or a family site. In that model, a guest should not even see the list of sections, except for login, access recovery, and possibly a short welcome page. But full mode requires a much more careful public allowlist. If you forget the activation page, a user may register, receive an email, and then hit a dead end. If you block password recovery, support will start receiving manual reset requests.

Partial mode fits most commercial and education-focused projects better. Visitor-facing pages remain public: the course overview, curriculum, testimonials, participation terms, contact pages, and SEO-driven content pages. Restricted content includes groups, member directories, activity feeds, personal profiles, internal documents, and materials that make up the value of membership. This approach supports growth better: search engines and new visitors can still see the useful public layer, but not the private life of the community.

How to Choose the Right Mode Without Guessing

Take your navigation map and mark every link with one of three states: public, login required, or membership level required. Then separately test dynamic links that are not shown in the menu: a direct profile URL, an individual group, a custom post type archive, a search results page, a BuddyPress notification link, or a link from a membership plugin email. If most of the site needs to be restricted, full mode may be simpler. If the public-facing layer matters for growth, use partial mode and precise rules.

You should not choose full mode just because it feels "more secure." Actual security depends not on the number of restricted pages, but on whether real user paths have been tested. On a site with public sales pages, full mode can block what needs to work before login: pricing, terms, contact pages, lead forms, registration, or email confirmation. Privacy may improve, but conversion suffers.

URL Patterns and Direct Links

URL patterns are useful for repeatable sections. If restricted materials live within one address space, such as /community/, /courses/cohort-, or /private-docs/, a pattern saves time and reduces the risk of forgetting an individual page. But a pattern is risky if the URL structure is inconsistent. It may block more than intended, or fail to catch a dynamic address generated by another component.

Test URL patterns on a staging copy of the site. Open not just the first page of the section, but also a nested page, an archive, a single item, the author profile, comments, an attachment file, and a notification link. If the site is multilingual, check language prefixes as well. If you use a membership plugin or LMS, test lesson, course, dashboard, and group URLs too. The pattern needs to match the site’s actual structure, not just how it looks in the menu.

Custom Post Types

Custom post types in WordPress often become a hidden privacy gap. A community may be restricted, while content types such as "lessons," "events," "documents," "portfolio," "projects," or "resources" remain accessible by direct URL. Documentation and overview materials for Community Pro mention custom post type restrictions, so this layer should be included in your access map whenever the restricted value is not stored only in BuddyPress components.

Start with an inventory. In the admin dashboard, review which post types are created by LMS plugins, ecommerce tools, knowledge bases, event plugins, portfolios, or directories. Then decide whether each type should be fully restricted or only partially protected. A course may have a public overview page and restricted lessons. A club may have a public events directory and restricted materials from past sessions. A corporate portal may keep nearly all documents restricted while leaving the login page and access help public.

After enabling restrictions, check the archives as well. Administrators often test only a single entry and forget the post type archive, search results, a "latest materials" block, or cards rendered through Elementor or the block editor. If titles of restricted materials still appear in public areas, that is not always a Community Pro bug. Sometimes a widget or theme pulls the data directly and displays it before the access check runs. In that case, you need to adjust the widget, template, or search index itself.

Built-In Login Form, Custom Form, and Redirect

When a guest lands on a restricted page, the administrator has a choice: show a login form in place, use a custom form provided by another plugin, or send the visitor to a separate page. In the free Wbcom Designs Private Community line, the documentation covers the built-in login option, a custom form, and smart redirects. For Pro, that logic still works well as the outer layer around more detailed access rules.

The built-in form works well for simple clubs: the visitor immediately understands that they need to log in. A custom form makes sense if the site already uses a unified login design, social login, two-factor verification, or special fields. A redirect is better suited to marketing flow: a guest tries to open a restricted group, and the site sends them to an explanatory page describing what the community is and how access works. The downside is that redirects are less helpful for diagnostics, because the user may not understand which object was actually restricted.

A practical approach is to split these use cases. On restricted social pages, show a short message and the login form. For paid groups, send users to an access or enrollment page. For a corporate network, send them to login. For an incomplete profile, do not use a generic redirect to login, because the user is already signed in. They need to be sent to their profile and told which fields are blocking access.

Rule Matrix: Roles, Levels, Profile State, and Actions

Once the guest layer is in place, the next step is building a rule matrix for logged-in users. This does not have to be a complex table in the admin UI; what matters is the underlying model. Each user has several traits: a WordPress role, a membership level, a profile state, group participation, friend count, permission to send messages, and possibly membership in a particular course or department. BuddyPress Private Community Pro lets you use some of these traits to decide what to show and which actions to allow.

Without a matrix, administrators often create rules only after complaints start coming in. One user cannot see a group, so an exception gets added. Another sends too many messages, so a limit gets enabled. A third cannot leave a comment, so a restriction gets removed. Within a month, the rules start conflicting with one another, and nobody can explain why a specific person sees that version of the site. It is much more reliable to define several standard user states in advance.

Typical User States

For most private BuddyPress communities, five states are enough. A guest has not logged in yet and should not see internal pages. A newly registered member is logged in but does not yet have the required level or has not completed their profile. A basic member can see the general area but not restricted groups. An advanced member can access premium groups and additional tabs. A moderator or administrator needs visibility into the service layer and must be able to help users without being trapped by regular restrictions.

Those states should be mapped to actions. For example, a guest cannot see the member directory. A new member can see only their own profile and a welcome page. A basic member can read the general feed and add friends, but cannot post in the mentor group. A premium member can access the restricted group and the materials tab. A moderator can review reports and assist within groups. This kind of matrix not only helps configure the plugin, but also gives the support team a clear explanation of the rules.

Example of a Working Matrix

Sample access split for a private course
State Allow Restrict Denial Message
Guest Course overview, login, registration Profiles, groups, activity, messages Log in to access the private community.
New user Their own profile, welcome page Posting, messages, restricted groups Complete your profile and check your access status.
Basic level General group, member directory Premium group, materials tab This section is available to members on the advanced level.
Premium level Cohort group, materials, messages according to the rules Admin-only tabs and administrative actions If access did not open, check your profile and log in again.
Moderator Group review, member assistance, service actions Only administrative actions outside their scope Please contact the site administrator.

This table is not a universal recipe. It shows a way of thinking. On your site, the states may have different names: employee, contractor, mentor, student, graduate, client, club member. What matters is that each state has a clear set of permissions and a clear denial message.

Do Not Mix WordPress Roles and Membership Levels Blindly

WordPress roles control technical capabilities inside the site: reading, publishing, editing, and managing settings. Membership levels represent business status: which plan, course, group, or access package the user has. Some membership plugins also add their own roles, but that is not a reason to treat the role as the only source of truth.

If the "Gold" plan automatically assigns the subscriber role, you cannot distinguish a paid member from a regular subscriber based on role alone. If a plan creates a separate role, make sure it is not giving users extra WordPress capabilities they should not have. It is safer to keep technical roles minimal and tie BuddyPress-area access to the level or state in the membership plugin whenever Community Pro can read that state correctly.

Test administrators and moderators separately as well. If a general rule closes a tab or action for all selected roles, you may accidentally hide an important area from the person who is supposed to help other members. A test moderator account is just as important as a test account for a standard user.

Action Restrictions Must Leave a Way Forward

Community Pro can restrict activity posting, comments, friendships, groups, and messages. But every restriction should leave a next step: what the user can do to gain access, or why access is not intended at all. If a member cannot create a group because of a limit, show that the limit has been reached. If they cannot message non-friends, explain that they need to connect first. If posting is blocked until the profile is complete, send them to the profile.

A good restriction feels like a community rule rather than a malfunction. It says: "complete your profile first," "join the group first," "you have reached the message limit," or "this tab is available only to cohort members." A bad restriction silently removes the button, leaves an empty page, or sends a user who is already logged in back to the login screen. That is why configuring notices and verifying outcomes matters just as much as enabling the restriction itself.

How Membership-Level Restrictions Turn Into Visible Access

The most valuable part of the Pro version is the connection between BuddyPress access and the level stored in a membership engine. The product page and store description from Wbcom Designs list the supported engines: Paid Memberships Pro, MemberPress, LearnDash, LifterLMS, WooCommerce Memberships, Restrict Content Pro, WishList Member, GamiPress, s2Member, and Memberium. In interface examples, the developer shows automatic detection of the active engine and the ability to choose the minimum required level for a restricted area.

The flow works like this: the user has an input state - a WordPress role, a membership level, a course enrollment, or another related status from a different plugin. BuddyPress Private Community Pro reads that state from the active system, compares it to the restriction rule, and changes the site response: show a component, hide a tab, block an action, show a message, redirect the user, or leave access open. The user does not see the internal check; they see the outcome: whether the directory is available, whether the join button appears, whether the tab is displayed, or whether a message can be sent.

Why a Membership Plugin Alone May Not Be Enough

A membership plugin is good at protecting posts, pages, lessons, subscription products, and payment logic. But BuddyPress adds dynamic social areas. Even if access to a private course has already been paid for, that does not automatically mean the course group, profile tab, activity feed, and private messages are restricted by the same rule. BuddyPress Private Community Pro serves as the linking layer between the membership system and the social components.

In that setup, there is no reason to build parallel pricing tiers inside Community Pro. It is better to assign levels in a single source of truth, such as Paid Memberships Pro, MemberPress, LearnDash, or WooCommerce Memberships, and then use those levels in Community Pro to control access to BuddyPress areas. That reduces mismatches: if the user loses the level, access to the social zone should close with it.

Recommended Order for Membership Gating

  1. Confirm that the selected membership plugin is active and contains at least one test level.
  2. Assign the level that should unlock the restricted area to a test user.
  3. Open WB Plugins - Community Pro - Membership Restrictions.
  4. Make sure the active membership engine is detected. If the level list is empty, troubleshoot the membership plugin first, not BuddyPress.
  5. Select the component, page, tab, group, or action that should require the level.
  6. Save the rule and test it with three users: one not logged in, one logged in without the level, and one logged in with the level.

Do not use the same denial message for every case. A guest should understand that they need to log in. A logged-in user without the required level should understand that access depends on membership status. A member with an incomplete profile should see instructions for completing the profile. If all three cases lead to the same page, support will quickly start getting messages that say, "Why did it kick me out?"

What Counts as a Successful Test

A successful test is not just the right user being able to open the page. You also need to test the reverse paths. A user without the required level should not be able to open the component through a direct URL. If a tab is restricted by role or level, it should not remain visible as an empty link. The group join button should reflect the rule. After the level is removed, access should close after logout and login, or after cache is cleared if the site uses page caching.

BuddyPress Private Community Pro flow from membership level to an accessible group and profile tab
This diagram shows the chain: a member level feeds into a rule, the rule changes the component state, and the user sees either an allowed or restricted area.

Profile Progress as a Quality Filter for Members

Profile Progress in BuddyPress Private Community Pro solves a different problem. It does not validate payment and does not replace a role. It answers the question: is this member profile ready for normal interaction inside the community? The documentation describes a visual completion indicator, the ability to choose sets of extended profile fields, and forced completion criteria such as required fields, a profile photo, and a profile cover. There is also a mode where users with incomplete profiles are limited to their own profile until the requirements are met.

For a community, this is not a minor cosmetic detail. Empty profiles reduce trust, especially in courses, professional networks, expert clubs, and restricted groups. A member without a photo, name, role, or description is less likely to get replies, less likely to enter discussions, and more likely to be perceived as a random account. Profile progress lets you turn profile completion into part of the onboarding flow.

Which Fields to Include in the Calculation

Do not include every possible field. The more fields that count toward progress, the greater the risk that a normal user gets stuck on formalities. For the initial flow, it is enough to choose fields that actually improve interaction: a name or public display name, the user’s role in the community, a short bio, interests or focus area, city or time zone if relevant, a profile photo, and a cover image only when visual identity is genuinely important.

In BuddyPress, extended fields are configured separately in the profile system. So before enabling forced completion, review the fields themselves: are the labels clear, are there duplicate fields, which ones are required, where are they shown, and are they visible to the user during registration or only after login? If a field is required but users do not encounter it along the normal path, the restriction will feel like an error.

How to Choose a Minimum Percentage

The completion percentage should be tied to a real goal, not to a desire to collect as much data as possible. For an open professional club, a lighter threshold may be enough: one that requires the core information but does not block people over secondary details. For a private course, you may want a higher bar: a photo, a profile description, and a learning goal. For a corporate network, the criteria should match internal rules: job title, department, contact channel, and region.

If you enable Force Profile Completion, test the path as a brand-new user first. The user should understand where to click, which fields to fill in, why access is still restricted, and how to return to the intended group. A good message points to the action, not just the denial.

How Profile Progress Works with Restrictions

The most useful combination is to use profile progress as the first gate before active participation. For example, you can allow users to read the introductory area, but prevent them from posting activity, joining restricted groups, or sending messages until their profile is complete. That way, users do not feel that the site is "locked down completely," but they still understand the participation rules.

The key here is not to overdo it. If someone has paid for access or received a corporate role but sees only restrictions, the reason has to be explained very clearly. The General Notices section helps you create different messages for different types of restrictions. Profile progress works best when the message includes a concrete path: "Open your profile, complete the required fields, upload a photo, save your changes, then return to the group."

Profile Privacy, Tabs, and User-Controlled Visibility

Another strong feature of the product is profile privacy. The Profile Visibility documentation describes a setting that lets members control who can see their profile. The available options include visibility for themselves, friends, and all members. The administrator can also define the message another user sees when attempting to open a restricted profile.

This is different from a global directory restriction. A global restriction says, "this area is not visible because of a site-wide rule." User-level privacy says, "this specific member has limited visibility for their profile." In a professional community, that is a subtle but important difference. Some members want to be visible to all club members, others are comfortable showing their profile only to friends, and others want to participate in groups without broadly exposing their profile.

How to Explain the Setting to Members

Do not bury this feature inside a long instruction page. Add a short note to the welcome flow: profiles can be visible to all members, only to friends, or kept private. If the community is tied to education, explain that a hidden profile may limit networking and feedback. If it is a corporate network, do the opposite and clarify which data is required by internal policy and which data the member may hide.

In the documentation, the user flow is described through the BuddyPress profile and profile settings area. In a member-facing article, you can phrase it more simply: "Open your profile, go to settings, and find the Profile Visibility Settings block." The exact English label is best left unchanged because it matches the product interface.

Tab-Level Control: When to Hide a Tab Instead of a Page

The product page highlights that the Pro version can hide profile and group tabs by role or level. This is often more useful than simply blocking a URL when the tab itself reveals a restricted feature. If a regular member can see a tab called "Mentor Materials," click it, and then get denied, they already know the feature exists. If the tab is hidden entirely, the interface stays cleaner and prompts fewer unnecessary questions.

That said, hidden tabs should be used deliberately. In a transparent access funnel, it can be useful to show that a restricted section exists and explain how to unlock it. In a private corporate area, it is usually better to hide the tab entirely. In a training course, you can leave a visible link on a sales page but hide the BuddyPress tab inside the group until the member is enrolled in the correct cohort.

Example of the site outcome after setting up private profiles and hidden BuddyPress tabs
This example connects profile and tab settings to what a regular member actually sees on the public-facing side of the site.

Groups, Activity, Friendships, and Messages: Where Restrictions Help and Where They Get in the Way

The Membership Restrictions documentation provides detailed coverage of limits for groups, friendships, and messages. You can control joining, leaving, and viewing groups with different visibility states, hide groups from the directory, set a maximum number of groups, require a minimum amount of activity, comments, or friends before creating or joining groups, and more. For friendships, the plugin supports blocking sent and received requests, removing friends, and limiting the number of friends. For messages, the documentation describes restrictions on starting conversations, replying, group conversations, messaging non-friends, deleting threads, and limiting the number of messages.

These features can easily become an overly restrictive system. That is why it is better to think not in terms of "what can be blocked," but "what behavior should the site encourage." In a young private group, hard limits can slow the community down too much. In a large club with no limits at all, you may end up with mass messaging, empty groups, and random friendship requests. A good setup sits between those extremes.

Group Restrictions

Groups in BuddyPress can be public, private, or hidden. Users have different expectations for each state. A public group may appear in the directory while still having restricted joining. A private group may be visible but require approval. A hidden group usually should not appear in lists for users without the right access. Community Pro helps you manage those boundaries, but the administrator still needs to decide in advance what each group state means on that specific site.

For a course, it is usually better not to create one giant group for everyone. Cohorts, modules, or levels are easier to verify when each group has a clear purpose and is tied to an access level. For a corporate portal, groups can be split by department and by project. For an expert club, it is useful to create groups by participation level: a general lounge, a mastermind group, and a restricted mentor group.

Activity and Comment Restrictions

Activity restrictions help prevent empty or spam-like posts, but they need to be explainable. If a new member cannot publish a post, they should see the reason: incomplete profile, too few friends, no group participation, a role restriction, or a limit. Notice settings are exactly what let you prepare useful messages for those situations.

Do not require a minimum number of comments or friends in situations where the user cannot realistically achieve those milestones. For example, if all activity is blocked until the user joins a group, but joining the group itself requires activity, you end up with a closed loop. Rules like that need to be tested from scratch with a fresh account, not only by an administrator with full privileges.

Private Messages and Noise Control

Private messages are often one of the main sources of complaints in private communities. A new member may start messaging strangers in bulk, a bot may send repeated messages, and some users do not want to receive messages from people they have not added as friends. Community Pro restrictions let you define who can start a conversation, who can reply, who can message non-friends, and how many messages can be sent.

For a small club, it may be enough to block messages to non-friends or to restrict mass conversations. For a large community, daily or hourly limits may make sense. For a course group, you can keep messaging open inside the group while restricting direct messages until the profile is complete. In every case, after enabling limits, test not only the message form, but also notifications, existing threads, and moderator behavior.

Practical Example: A Restricted Course Group with Level-Based Access

Let’s walk through a real setup that shows the purpose of BuddyPress Private Community Pro clearly. Assume the site sells a training course through a supported membership engine. After receiving the required level, the member should be able to access the restricted course group, the profiles of people in the cohort, and the discussions. A guest should see only the public course overview and the login form. A registered user without the required level should see a message explaining that access depends on course enrollment. A new member with the correct level should still have to complete their profile before posting in the group.

Goal

The goal is to build a restricted social layer around the course: cohort members interact inside the group, see one another’s profiles, can post questions, and can exchange messages according to the community rules. At the same time, marketing pages remain public, and a random guest cannot see the internal feed or member directory.

Preparation

Before setup, create the course group in BuddyPress or BuddyBoss, prepare the course overview page, the login page, one test membership level, and three accounts. One account should remain logged out, the second should be a regular user without the required level, and the third should be a user with the correct level. If the site uses caching, exclude login, profile, group, and activity pages from the cache.

Setup Steps

  1. Enable partial protection for the member directory, activity feed, group directory, and individual profiles if they should not be public.
  2. Keep the course overview page public so search traffic and new visitors do not hit a blank login wall.
  3. In Membership Restrictions, select the active membership engine and the level that should unlock the course group.
  4. Attach the rule to the course group or to the relevant BuddyPress section if your version provides component-level selection.
  5. In Profile Settings, enable profile progress and define the criteria required before activity posting is allowed.
  6. In General Notices, prepare separate messages for the guest, the user without a level, the member with an incomplete profile, and the message limit.
  7. Test the join buttons, the direct group URL, the group directory, the activity feed, and the profile tabs.

Expected Outcome

A guest opens the course page and sees the public description. When trying to open the group or member area, the guest sees a login form or a clear notice. A logged-in user without the required level cannot enter the restricted group and receives an explanation that access is tied to course participation. A member with the level can access the group, but may still be sent to their own profile until the required profile fields are completed. After completing the profile, the member can post questions and participate in the discussion.

Verification and a Common Pitfall

Test this flow in a fresh private window, because administrator sessions and cache can hide a problem. If a user with the correct level still sees a denial, first confirm that the level is actually assigned inside the membership plugin. Then clear the cache, log out, and log back in. If the denial is related to the profile, check which fields are included in the progress calculation and whether the user can see those fields on the profile editing page.

Access error troubleshooting map for a restricted BuddyPress group
This troubleshooting diagram helps separate a membership-level issue from an incomplete profile, cache, a direct URL path, or an unclear denial message.

Verifying the Outcome: Privacy, SEO, Cache, and the User Journey

After configuration, it is not enough to say, "the page is now restricted." You need to test by role, device, direct link, search visibility, and cache behavior. A private community is especially sensitive to small leaks: a widget may expose a link to a restricted item, search may return a title, RSS or a notification may lead to content, or cache may serve a guest a page generated for a logged-in user.

Test Matrix

Run the check based on real user states, not from the administrator account. Administrators usually have full access, so their experience is almost useless for testing denial behavior. It is better to open several browsers or browser profiles and walk through the same path in each: member directory, profile, group, individual group, activity feed, posting form, comment, friendship button, private message, and a custom post type page.

What to Check After Saving the Rules
User State What to Open What Should Happen
Guest Member directory, group, profile, activity Restricted content is not shown, and the login path is clear.
User without a level Restricted group or tab A denial appears that is tied to the access level, not a generic error.
Member with a level Group, tab, action Access is open if the profile meets the requirements.
Member with an incomplete profile Activity posting, joining a group, messages A clear instruction appears explaining how to complete the profile.
Moderator or administrator The same pages and actions Service roles do not lose access to management and verification features.

SEO and Indexing for Restricted Pages

A restricted area should not accidentally become a landing page for search traffic. If a guest sees only a login form, search engines may also see only that form rather than the private content. That is usually the desired behavior for profiles and internal activity, but not for acquisition pages. So keep the public content separate from the restricted layer. The course overview, club benefits, participation rules, and registration page can stay public. The activity feed, member profiles, and restricted groups should not.

Do not assume "complete invisibility" just because the plugin is active. Check the sitemap, internal search, recent posts widgets, custom post type archives, RSS, notifications, and emails. If restricted titles appear in public blocks, adjust the theme, widget, or SEO plugin settings accordingly. For a private community, fewer public snippets are better than a polished teaser that exposes internal information.

Caching and Dynamic Access

Any rule that depends on login status, user role, membership level, or profile state is a poor match for aggressive caching. If a directory or group page ends up in shared cache, one user may see another user’s version. Set exclusions for BuddyPress pages, login forms, dashboards, restricted groups, activity, and messages. If you use server-level caching or a CDN, verify the rules there as well.

A typical cache symptom looks like this: access does not change after a level update, a guest sees an outdated version of the page, the login form disappears, or a user with access still gets denied until cache is cleared. In those cases, clear the cache and test in a private window before changing Community Pro rules.

Safe Enhancements and Useful Combinations

For this product, it is best not to start with code. Official pages mention translation support, custom notices, custom restricted-content templates, and filters in the free product line, but without access to the exact Pro codebase version, it is not safe to document PHP hooks for Pro-specific features with confidence. Still, there are several safe techniques that deliver real value without modifying WordPress core, the theme, or the plugin itself.

Using It Together with a Membership Plugin

The most important combination is a membership engine plus Community Pro. The membership plugin stores the plan, payment, subscription, lesson access, or material access. BuddyPress Private Community Pro applies that state to BuddyPress components: groups, profiles, tabs, activity, and messages. The setup order should follow that same sequence: first define levels and test users in the membership plugin, then create access rules in Community Pro, then verify the public-facing part of the site.

The main conflict point is competing redirect rules. If the membership plugin sends the user to one page and Community Pro sends them to another, the user may end up looping between them. Choose one primary path: for example, a guest goes to login, a user without a level goes to an access explanation page, and a member with an incomplete profile goes to their profile.

Using It with a BuddyPress or BuddyBoss Theme

The theme controls the appearance of directories, profiles, groups, and messages. If a tab is hidden or a join button disappears, the theme still needs to render the remaining interface correctly. After changing the rules, check the mobile layout, tab order, and empty spaces in the profile header. Wbcom Designs changelogs for Pro and related themes include compatibility fixes for BuddyBoss, Youzify, BuddyPress Legacy, and interface elements, so you should not skip the visual review.

If enabling a restriction breaks only the layout, disable CSS/JS minification and clear the cache first. Then test with a default theme or in a staging environment. Do not edit plugin files. Small CSS adjustments are acceptable in a child theme or through a safe custom CSS tool, but only after you confirm that the issue is truly visual and not caused by the access behavior itself.

Localizing Messages

For a Russian-speaking community, denial messages matter more than they may seem. If a user sees an English label or an unclear notice, they either contact support or abandon the profile setup. Start with the built-in messages in General Notices. If some strings come directly from the plugin, use the standard WordPress translation workflow, such as translating strings through a compatible localization tool. Do not modify the original plugin files, because those changes will be lost during updates.

A safe rule of thumb: anything that can be solved through settings, messages, translation, or cache rules should be solved without PHP. Add code only when you have a confirmed hook or filter, and only on a staging copy of the site.

Troubleshooting Common Access Problems

Issues in a private community almost always need to be analyzed as a chain: who the user is, where they are going, which rule should apply, what they actually see, whether cache is involved, and which system is acting as the source of access. Do not change all settings at once. That can accidentally open a restricted area or, just as easily, block legitimate members.

A User with the Correct Level Cannot See the Group

Symptom: the member is logged in, has the required membership level, but sees a denial message or a redirect when opening the group.

Possible cause: Community Pro cannot read the level, the user never received the status inside the membership plugin, the rule is tied to a different role, cache is serving an outdated page, or profile progress is adding an extra block.

What to check: open the user record in the membership plugin, confirm that the level is active, then review the Membership Restrictions tab. After that, check whether forced profile completion is enabled. Clear the cache and log in again.

How to fix it: first fix the level source, then the Community Pro rule. If the problem disappears when cache is disabled, add exclusions for BuddyPress pages. If the profile is the cause, update the message so the user can see how to complete it.

A Guest Can Still See Part of the Restricted Content

Symptom: the directory or group is restricted, but the guest can still see an activity snippet, a widget link, a post title, a profile from search, or a custom post type page.

Possible cause: only one URL was restricted instead of the related component; the theme is outputting data in a widget; the custom post type was not included in the rule set; a search plugin is indexing old content; or cache is storing a public copy.

What to check: open the direct URLs for the profile, group, activity, and archives. Check widgets, theme blocks, internal search, and the sitemap. If you are using partial protection, add URL patterns only after you understand the actual URL structure.

How to fix it: extend the rule to the component or custom post type, remove restricted elements from public widgets, clear cache, and reindex internal search. If a public page needs to stay open, do not switch the entire site to full mode just to fix one exposed fragment.

Registration, Login, or Account Activation Became Unavailable

Symptom: a new user cannot register, follow the activation link, or recover a password. The guest gets stuck in a redirect loop.

Possible cause: full protection mode or an overly broad URL pattern has blocked service pages. Wbcom Designs changelogs for the free version specifically mention fixes related to activation pages, so this path should be retested after updates.

What to check: public access to login, registration, password recovery, and activation. Also check whether a custom form conflicts with the chosen restricted-content display method.

How to fix it: add the necessary URLs to the public exceptions list, or switch the problematic area from full mode to partial mode. After the fix, create a new test user and go through the flow from the beginning.

The Denial Message Does Not Explain What to Do

Symptom: users contact support saying "access does not work," even though the rule itself is working correctly.

Possible cause: the same message is being used for different cases: guest, member without a level, incomplete profile, message limit, or blocked group joining.

What to check: open General Notices and match each message to the real denial case. Go through the flow with test accounts and note where the text does not provide a next step.

How to fix it: rewrite messages using the formula "reason - action - verification." For an incomplete profile, point to the profile. For a membership-level issue, state that access depends on status in the membership system. For message limits, explain when the action will become available again or who to contact.

The Wrong Role Lost or Kept a Tab

Symptom: a regular user can see an extra tab, while a moderator or the intended member can no longer access it.

Possible cause: WordPress roles, membership levels, and BuddyPress states have been mixed up. In some cases, a role created by the membership plugin does not match the expected WordPress role.

What to check: the actual WordPress role for the user, the level in the membership plugin, and the tab rule in Community Pro. Do not rely only on the public plan name shown on the site.

How to fix it: separate the rules into layers: one for role, another for level. If the tab should be available to course members, use the source that is actually assigned to those members. After the fix, test both the direct tab URL and its presence in the profile menu.

Restriction Behavior Changed After an Update

Symptom: a rule used to work, but after updating the plugin, theme, BuddyPress, BuddyBoss, or the membership engine, you now see extra access, PHP warnings, missing buttons, or incorrect redirects.

Possible cause: the component structure changed, the theme was updated, a new interface became active, cache is interfering, or a changelog fix altered previous behavior.

What to check: the latest changelog entries, cache status, theme conflicts, and plugins that affect login, registration, profiles, groups, and messages.

How to fix it: roll back the disputed setting on a staging copy, disable cache, and temporarily switch to a minimal set of active plugins for testing. If the issue appears only with a specific theme or integration, document it as a compatibility case and check the developer’s documentation or support.

When BuddyPress Private Community Pro Is the Right Choice

This product is a strong choice if you already use BuddyPress or BuddyBoss and access to the community needs to depend on login state, role, membership level, profile state, or a specific action. It is especially useful in situations where simple page restriction is not enough: groups, profile tabs, the activity feed, friendships, and messages all need their own rules.

Before deployment, do not try to solve everything with one checkbox. Build an access map, configure the guest layer, then levels and roles, then profile progress, user visibility, and denial messages. Test every rule with real test users. If, after reading this guide, you understand which components you are going to restrict and how you are going to verify the outcome, you can download the latest version of BuddyPress Private Community Pro and test the plugin on a staging copy of the site.

If you do not use BuddyPress/BuddyBoss, do not have restricted social components, and only need to protect standalone pages, start with a simpler content restriction tool instead. A complex access-control plugin is justified when the social layer of the site is itself part of the product’s value.

Frequently Asked Questions About Setting Up a Private BuddyPress Community

Do I need to install the free Private Community for BuddyPress before the Pro version?

Yes. The official product page states that the Pro version is built on top of the free Private Community for BuddyPress plugin. Install and activate the base plugin first, then activate the Pro add-on and verify the settings under WB Plugins - Community Pro.

Can I use the plugin without a membership system?

Yes, but in that case the membership-level features will not be the primary use case. Official materials note that the membership layer in Pro is optional: you can still use restrictions by role, tab, profile, component, and guest access. If all you need is a simple private site for logged-in users, the free version may be enough.

Which membership plugins does the Pro version support?

Wbcom Designs lists ten engines: Paid Memberships Pro, MemberPress, LearnDash, LifterLMS, WooCommerce Memberships, Restrict Content Pro, WishList Member, GamiPress, s2Member, and Memberium. Before launch, you should still verify that your installation detects the active engine and its levels in Membership Restrictions.

Can I restrict only profiles and keep the blog public?

Yes, if you use partial protection together with component-level restrictions. Keep the blog, overview pages, contacts, and login page public, while restricting the member directory, individual profiles, groups, and activity. After saving, test direct links and public widgets, because the theme may still expose links to restricted content.

Why is a user logged in but still seeing a denial?

Being logged in does not mean full access. The denial may be tied to the WordPress role, a missing membership level, an incomplete profile, a restriction on a specific group, a message limit, or cache. Check the user state step by step rather than changing every rule at once.

How do I avoid blocking the login and registration pages?

Before enabling full mode, create a list of public exceptions. It typically includes login, registration, password recovery, account activation, and either the homepage or the community overview page. After making changes, create a new test user and complete the registration flow from start to finish.

Does the plugin affect site performance?

Any access-control plugin adds extra checks, but the main performance issues are more often tied to cache, the theme, the number of active extensions, and BuddyPress dynamic pages. Wbcom Designs changelogs include improvements to admin screens and asset loading, but you should still test community pages on your own site before and after enabling the rules.

Do I need a separate YouTube tutorial for setup?

If you find an up-to-date video specifically about BuddyPress Private Community Pro, it can serve as an additional visual reference. This guide does not embed a video because the research did not confirm a stable, product-specific YouTube embed for this plugin. It is safer to rely on the official documentation and your own test matrix.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.