BuddyPress is a community plugin for WordPress. It adds social networking features to WordPress and includes features such as member profiles, groups, activity streams, notifications and much more. There is an integration with bbPress to include forum capabilities.
BuddyPress is available as a free plugin from the WordPress Repository. It is created and maintained by the WordPress community.
Some other WordPress plugins include elements of BuddyPress, for example BuddyBoss.
ActiveMember360 BuddyPress Extension Overview
The primary purpose of the ActiveMember360 BuddyPress Extension is to automatically control the joining and leaving of users as members in BuddyPress groups, based upon the ActiveCampaign contact data and WordPress user data of the logged in user.
When using the integrated bbPress forum features of BuddyPress you can control access to the bbPress custom post types of Forum, Topics and Replies when using the ActiveMember360 bbPress Extension as detailed within ActiveMember360 bbPress Extension in addition to the ActiveMember360 BuddyPress Extension.
BuddyPress Group Membership
The BuddyPress group membership of a user can be controlled by the ActiveMember360 BuddyPress Extension based upon:
- ActiveMember360 Memberships
- Contact list status:
- Contact is active in any or all of the lists selected
- Contact is unconfirmed in any or all of the lists selected
- Contact is unsubscribed in any or all of the lists selected
- Contact is bounced in any or all of the lists selected
- Contact tag status:
- Contact has any or all of the tags selected
- Contact does not have any or all of the tags selected
- Contact field comparison:
- Contact has a contact field that compares with a value
- Contact has a contact field that compares with another of their contact fields
- User login status:
- User is logged in
- User is not logged in
- User has failed payment status
- It is the user’s first login
- User role status:
- User has any or all of the roles selected
- User does not have any or all of the roles selected
- PHP statement:
- Any WordPress conditional statement
- Any WooCommerce conditional statement
- Predefined conditional
- GamiPress User status:
- User has any or all of the achievements selected
- User does not have any or all of the achievements selected
- User has any or all of the ranks selected
- User does not have any or all of the ranks selected
- User has a points type total that compares with a value
- Learndash User status:
- User is enrolled in any or all of the courses selected
- User is not enrolled in any or all of the courses selected
- User has not started any or all of the courses selected
- User has in progress any or all of the courses selected
- User has completed any or all of the courses selected
- User has not completed any or all of the lessons selected
- User has completed any or all of the lessons selected
- User has not completed any or all of the topics selected
- User has completed any or all of the topics selected
- WooCommerce User status:
- User has purchased any or all of the products selected
- User has not purchased any or all of the products selected
- User has pending status for any or all of the subscriptions selected
- User has active status for any or all of the subscriptions selected
- User has on hold status for any or all of the subscriptions selected
- User has pending cancellation status for any or all of the subscriptions selected
- User has cancelled status for any or all of the subscriptions selected
- User has expired status for any or all of the subscriptions selected
- …any multiples and combinations of the above.
ActiveMember360 BuddyPress Extension Activation & Settings
The BuddyPress plugin must have previously been installed and activated on your site in order to be able to activate the ActiveMember360 BuddyPress Extension.
- In WordPress administrator main navigation click ActiveMember360, Extensions.
- In ActiveMember360 Extensions tabs click BuddyPress.
- Set Enable BuddyPress Extension to Yes.
- In BuddyPress redirect page select the default page to redirect users to if they attempt to visit any BuddyPress group whose membership is being controlled by ActiveMember360 Post/Page Access Conditions and for which they are not members.
- Click Save Settings.
Set ActiveMember360 controls for BuddyPress Group Membership
The access conditions in the ActiveMember360 panel as illustrated above controls BuddyPress group membership for each group.
If the logged in user satisfies the access criteria specified they will become members of the BuddyPress group. If the logged in user does not satisfy the access criteria they will not become members or will be removed as members the group.
A full description of the access conditions that control membership of the BuddyPress group are the same as those detailed here: Set Post/Page Access Conditions.
If a setting is specifed for When forbidden redirect to any visitor attempting to access the group will be redirected there in preference to the page specified in ActiveMember360 Extensions, BuddyPress, BuddyPress redirect page.
The ActiveMember360 BuddyPress Extension only controls the redirect for those not enrolled in Public BuddyPress groups. If the group is Private or Hidden BuddyPress will determine the redirect.
ActiveMember360 BuddyPress Extension & BuddyPress Behaviour
BuddyPress Members Profile, Settings, General & Delete Account Tabs
When the ActiveMember360 BuddyPress Extension is activated access to the Members, Settings, General and Delete Account tabs, normally available for logged in users, will be forbidden. Accessing those tabs will result in a redirection to Email Notifications settings.
Allowing users access to the General settings to change their email or password using BuddyPress is not appropriate for an ActiveMember360 site. Emails and passwords need to be changed by ActiveMember360 methods that ensure sychronisation of the new values between WordPress and ActiveCampaign. The appropriate methods are detailed here Changing WordPress User & ActiveCampaign Contact Email Addresses and here Changing WordPress User & ActiveCampaign Contact Passwords
Similarly allowing a user with access to Delete Account to be able to delete their WordPress account is not appropriate for an ActiveMember360 site. When using ActiveMember360 WordPress users can only be deleted by administrators or by using the [mbr_clearuser][webhooks-mbr-clearuser] user webhook in an ActiveCampaign automation.
The BuddyPress registration process should not be used when ActiveMember360 is activated on a site.
The signup/purchase processes that are fully integrated with ActiveMember360 and ActiveCampaign should be used.
We recommend for the BuddyPress registration page that the ActiveMember360 panel has Administrator only checked and When forbidden, redirect to set to your signup/purchase page/URL.
BuddyPress Mention Name
In BuddyPress the name displayed for Groups/Forums is called the mentionname.
By default BuddyPress uses as the mentionname the WordPress
If BuddyPress username compatibility mode is enabled the mentionname is set to the WordPress user_login instead.
If the WordPress user has been created originally by ActiveMember360 the WordPress
user_nicename will be as detailed within Default WordPress User Settings.
If BuddyPress username compatibility mode is enabled the mentionname is set to the WordPress user_login(username).
Obviously any software that exposes the WordPress username irrespective of what it is set to is a security risk.
In effect a rogue user/hacker has 50% of the required information to login to the site.
BuddyPress has a filter hook which in such circumstances can be used to change the
mentionname to whatever you choose:
apply_filters( 'bp_get_displayed_user_mentionname', string $value )
|$value||(string) The mentionname for the displayed user.|
BuddyPress Group Memberships
When ActiveMember360 is controlling group membership by specifying ActiveMember360 Post/Page Access Conditions the BuddyPress Group type can only be Private or Hidden.
Similarly all standard BuddyPress buttons for joining, leaving or requesting membership to join the group will not be shown as ActiveMember360 is automatically controlling membership of the group.
If ActiveMember360 Post/Page Access Conditions are specified to control the membership of a BuddyPress group upon saving those settings the group, if currently a public group, will be switched to a private group type.
If ActiveMember360 Post/Page Access Conditions are not specified to control membership of a BuddyPress group any BuddyPress group type can be used and membership will be controlled solely by BuddyPress in the standard ways i.e as if ActiveMember360 was not activated for the site.
BuddyPress Group Membership Examples
- Example 1
- Example 2
If the logged in user has the membership level named
Free they will automatically become members of the BuddyPress group:
If the logged in user has the ActiveCampaign tag named
Customer and does not have the tag named
Newsletter Subscriber they will automatically become members of the BuddyPress group: