Controlling Visibility Of & Customising Content Within Pages & Posts
ActiveMember360 fully supports the generation of dynamic, customised, personalised and segmented content throughout your site.
Using ActiveMember360 you can customise your content to adapt to your sales, marketing and delivery goals based upon user behaviour and contact data stored within ActiveCampaign.
This enables you to provide the right message, in the right place, at the right time.
There are several ways of customising content for each specific visitor:
Personalisation
The ActiveMember360 Display Shortcodes allow you to personalise any content primarily with data from the ActiveCampaign contact record linked to the remote user.
So you could insert a name, a date, or any data from the ActiveCampaign contact record into a page/post content.
The ActiveMember360 shortcode [mbr_contact], typically the shortform of this shortcode, would be used to insert this data. To determine which contact fields can be used see ActiveMember360, Utilities, Tags.
If you wish to see from within WordPress what data would be actually inserted for any specific ActiveCampaign contact use ActiveMember360, Utilities, Show Contact.
However content can also be personalised using HTTP requests, avatars, and cookies i.e using any of the ActiveMember360 Display Shortcodes.
Condition Based Content
The most comprehensive way of customising content for each specific visitor is to define content that is only visible/displayed dependent upon a set of conditions that the remote user must satisfy.
The current conditions that can be used to control whether the content is displayed or not are:
- 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.
These condition can be defined/set using:
We would always recommend the use of ActiveMember360 Conditionals over the use of ActiveMember360 Conditional Shortcodes.
Once you have chosen/defined your conditions they can then be used directly to control the visibility/display of the following:
WordPress Block Editor (Gutenberg) Blocks
Full details of how to customise content within the WordPress Block Editor by controlling the visibility of blocks is provided within ActiveMember360, Modules, Block Editor (Gutenberg).
Information specific to conditionals is detailed within Set Block Editor block display based upon a conditional.
Beaver Builder Modules, Columns, Rows & Beaver Themer Layouts
Full details of how to customise content within Beaver Builder & Beaver Themer by controlling the visibility of modules, columns, rows and layouts is provided within ActiveMember360, Extensions, Beaver Builder & Beaver Themer.
Information specific to conditionals is detailed within Set Beaver Builder module/column/row visibility based upon a conditional, Set visibility conditions for Beaver Builder module/column/row using Beaver Themer conditional logic with a conditional and Set Beaver Builder Themer layout rules based upon a conditional.
Elementor Widgets, Sections & Popups
Full details of how to customise content within Elementor by controlling the visibility of widgets, sections and popups is provided within ActiveMember360, Extensions, Elementor.
Information specific to conditionals is detailed within Set Elementor Widget/Container/Section display based upon a conditional and Set Elementor popup display based upon a conditional.
Oxygen Builder Elements
Full details of how to customise content within Oxygen Builder by controlling the visibility of elements is provided within ActiveMember360, Extensions, Oxygen Builder.
Information specific to conditionals is detailed within Set ActiveMember360 conditions to show/hide Oxygen Builder elements based upon a conditional.
WordPress Menu Items
Full details of how to customise content by controlling the visibility of WordPress Menu Items is provided within ActiveMember360, Modules, Menu Control.
Information specific to conditionals is detailed within Menu item display conditional mode.
ActiveMember360 also provides a way of controlling which entire menu structure is displayed to a visitor or remote user based upon their login status or ActiveMember360 Memberships.
Please refer to ActiveMember360, Modules, Alternate Membership Menus.
Apart from the features available by using this module please note the default behaviour as detailed within Page/Post Visibility In Menus & Widgets.
WordPress Widgets
This method of controlling the visibility of widgets applies only to WordPess pre 5.8 or when using the Classic Widgets plugin.
For all other cases use the WordPress Block Editor process.
Full details of how to customise content by controlling the visibility of WordPress Widgets is provided within ActiveMember360, Modules, Widget Control.
Information specific to conditionals is detailed within Widget display conditional mode.
WordPress Classic Editor
For those still using the WordPress Classic Editor you would use the ActiveMember360 Conditional Shortcodes to control what content is displayed.
Other Page Builders
For those using other page builders such as Divi, OptimizePress, Thrive Themes, Visual Composer etc. you would use the ActiveMember360 Conditional Shortcodes to control what content is displayed.
For those builders you would "wrap" the element/block with two custom HTML elements/blocks. The first placed immediately before the element/block to control would contain the ActiveMember360 Conditional Shortcodes start tag and the one immediately after would contain the ActiveMember360 Conditional Shortcodes end tag.
As an example:
First custom HTML element/block containing: [mbr_is_conditional id='123']
Element/block to dislay if conditional id 123 evaluates as true
Second custom HTML element/block containing: [/mbr_is_conditional]
Obviously when using conditional branching you could have:
First custom HTML element/block containing: [mbr_is_conditional id='123']
Element/block to dislay if conditional id 123 evaluates as true
Second custom HTML element/block containing: [ELSE_is_conditional]
Element/block to dislay if conditional id 123 evaluates as not true
Third custom HTML element/block containing: [/mbr_is_conditional]
Summary
We are not aware of any other system that provides such a comprehensive way of controlling content.
This is not just limited to the ActiveCampaign tags of the contact but also the value of any ActiveCampaign contact field, WordPress role, login status etc etc.
These capabilites make the use of other plugins such as those listed below somewhat unnecessary:
- Block Visibility
- If Menu
- If-So