# ARMember - Exclusive Wordpress Membership Plugin ( Version: 3.0)

Created: 29/10/2018

By: Repute Infosystems

Email: info@reputeinfosystems.com

Thank you for purchasing the plugin. If you have any query which are beyond the scope of this help file, please feel free to email via contact form here. Thank you so much!

ARMember is an exclusive wordpress membership plugin. This is a very user friendly membership plugin leades you to create a membership site without having any advanced programming knowledge. It supports all popular wordpress versions from 3.5 to the latest one.

## ARMember Key Features:

- Easy Installation
- Easy Setup of membership plan
- Membership Plans with most popular `payment gateways` ( Including coupons and discounts ).
- Multiple Membership support. Users will be able to subscribe for more than one membership plan simultaneously.
- Multiple Payment Cycle support for subscription type of plan. So, users will be able to choose their suitable payment cycle for membership subscription.
- facility to have more than one membership simultaneously for members.
- `Email notification` for different events like ( new registration, membership expires etc..).
- `Sales Tax` facility on Plan+sign up page.
- Best of best admin dashboard with all important `statistics chart`
- Best widgets supports.
- External scripts support ( `BuddyPress member` ).
- Import / export members/settings(Easy Migration of users/settings)
- Restrict admin panel for non-admin members.
- Block Members using `IPs`, `URLs`, `Usernames` and `email addresses`.

- Provides following New user approval options.

  - Auto
  - Email-Activation ( Verify by email )
  - Manual / Admin( Verify by Admin )
- Hide admin bar for non-admin members.
- Member directory with many customization options.
- Entire site protection from visitors / free members.
- Auto Page setup for Registration, Login, Edit Profile, Change Password, Forgot Password etc..
- Custom CSS support.
- `Drag and drop fields` support in form builder.
- Custom `e-mail templates` with dynamic variables.
- Option to add member and manage payment history from back-end.
- Set Trial period option for paid plans.
- Easy setup wizard.
- Secure `RSS` Feeds.
- Provides facility to Upgrade / Downgrade / Cancel Membership.
- Custom Registration Form Fields.
- Works with `HTTPS` Pages.
- Powerful Shortcode Library.
- Unlimited Subscription Plans.
- Protect Special Pages.
- Custom Post Type Support.
- Easy to switch membership plan.
- Custom Error Messages.
- Conditional Shortcodes.
- 150+ `Action & Filter Hooks` to extend plugin's functionality for developers.
- Dedicated support.

# ARMember - Exclusive Wordpress Membership Plugin ( Version: 3.0 )

Created: 29/10/2018

By: Repute Infosystems

Email: info@reputeinfosystems.com

Thank you for purchasing plugin. If you have any questions that are beyond the scope of this help file, please feel free to email via contact form here. Thank you so much!

ARMember is an exclusive wordpress membership plugin. ARMember is complete bundle of a user friendly membership plugin which can be used to create membership site without any advanced knowledge of programming. It supports all popular wordpress versions from 3.5 to the latest one.

## ARMember Key Features:

- Easy Installation
- Setup Different type of membership plan easily
- Multiple Membership support. Users will be able to subscribe for more than one membership plan simultanously.
- Multiple Payment Cycle support for subscription type of plan. So, user will be able to choose his suitable payment cycle for membership subscription.
- facility to have more than one membership simultaneously for members.
- `Sales Tax` facility on Plan+sign up page.
- `Email notification` for event like ( new registration, membership expires ).
- Best of best admin dashboard with all important `statistics chart`
- Best widgets supports.
- External scripts support ( `BuddyPress member` ).
- Import / export members details and plugin settings using different `filter`.
- Facility to migrate plugin to different location with its all default configuration, settings etc.
- Restrict admin panel for non-admin members.
- Block Members using `IPs`, `URLs`, `Usernames` and `email addresses`.

- Provides following New user approval options.

  - Auto
  - Email-Activation ( Verify by email )
  - Manual / Admin( Verify by Admin )
- Hide admin bar for non-admin members.
- Member Profile and Member directory templates with lots of customization.
- Entire site protection from visitors / free members.
- Provides default Pages for Registration, Login, Edit Profile, Change Password, Forgot Password etc..
- Custom CSS support.
- Huge Front-end shortcodes library is available with different arguments.
- `Drag and drop fields` support in form builder.
- Custom `e-mail templates` with dynamic variables.
- Option to add member and payment history from back-end.
- Trial period option for paid plans.
- Easy to create member setup.
- Secure `RSS` Feeds.
- Automatic Upgrade / Downgrade / Cancel Membership.
- Custom Registration Fields.
- Works with `HTTPS` Pages.
- Powerful Shortcodes.
- Unlimited Subscription Plans.
- Protect Special Pages.
- Custom Post Type Support.
- Easy to switch membership plan facility.
- Custom Error Messages.
- Conditional Shortcodes.
- 150+ `Action & Filter Hooks` to extend plugin functionality for developers.
- Dedicated support.

# Installation & Activation

## Steps For Installation And Activation

You can install plugin in following two ways.

### New install via FTP

1. Download the plugin and extract it. You will find a directory armember.
2. In your WordPress installation directory, upload armember to `wp-content/plugins/`
3. Activate the `ARMember` plugin through the `Plugins` menu from WordPress admin panel.

### New install via the WordPress Uploader

1. Download the plugin.
2. Log in to your WordPress admin panel
3. Go to `Plugins` -> `Add New` -> `Upload`
4. Click on "choose file" and browse the download package. When the plugin uploads successfully, click on `Activate Plugin`.

After activating the plugin, you will be able to see ARMember menu in left side admin menu. Plugin automatically creates new pages for you and allow you to choose which page to include in your navigation.

# Membership Setup Wizard

## Steps to Setup Membership For Your Website

1. General Settings
2. Setup Plan
3. Set Payment Options
4. Setup Forms
5. Configure Plan + Signup Page
6. Invite Only Member
7. Content Restriction / Drip Content

## Let's setup membership for your website :

1. Plugin's basic settings are available in general settings. To get more detail about this section, please click here

2. Then create subscription plans. These created plans define restriction related to content for the user of that particular plan as well as you are giving users, permission to access content according to the plan.

   To get more detail about this section, please click here

3. You must need to setup `payment gateway(s)` if you want to charge user for paid plans. We provide most popular payment gateways support. `Paypal`, `Stripe`, `Authorize.Net`, `2Checkout`, and `Bank Transfer` Payment Method.

   To get more detail about this section, please click here

4. You must need to setup registration form for new user registration. You can create new registration form or you can use default registration form.

   By clicking on `Edit` icon you will be able to modify form styling and settings with user friendly interface.

   To get detail about this section, please click here

5. Then create a new membership setup for new user subscription process. You will find options for plans, forms, payment gateways and coupons. Configure setup as per your need. Also you can add your custom styling for specific setup. After setting membership setup.

   You need to add payment gateways for paid plans in order to get payment from members.

   To get detail about this section, please click here

6. Protect your website content from different plan members. You can add protection on your pages, posts, categories, navigation menus, custom post types, custom taxonomies etc.

   To get detail about this section, please click here

# General options

After installation and activation of the plugin, check about basic configuration of ARMember plugin.

Go to the General Settings menu from the admin interface. Here you will get number of tabs such as General, Payment Gateways, Page Setup etc..

Let's check each option in detail:

## General Options

### Hide Admin Bar

This option is providing you a choice whether you want to show admin bar for non-admin users or not. If you have enabled this option, then admin bar will be hidden from all users except who have either 'Administrator' role OR selected roles in 'Exclude role.." select box.

### Rename wp-admin Folder

Here you have facility to rename wp-admin folder to prevent hacking and security issues. You need to be careful while changing this option.

When you enable this option, popup with important notices will open as shown in below image. Please read all the notices before proceed. You will see one URL in this popup. Do not forget to save that URL. It will help you to rollback this change to default in critical situation. When you will run this URL, new wp-admin path will revert to default path /wp-admin.

After enabling switch, you will have other option for New wp-admin Path where you are able to write new path or name for wp-admin ( e.g. panel, cp ).

Before you enable this option, you should check your wp-config.php file and .htaccess file write permission. If both files will have write permission, then you don't need to do an extra effort, just enable this option, change wp-admin name if you want and save settings. You will be logged out automatically. Now your website admin panel can be accessed by only new name or https://yoursiteurl.com/wp-login.php

But, if any of the two files willnot have write permission then in such case when you rename wp-admin and try to save settings, then a popup will open containing file change instructions as shown in below.

You must need to follow each instruction strictly and only then after click 'OK, I did it' button. After this you will be logged out. If you press this button without doing change in files, then you willnot be able to login again. If you will press 'Abort Renaming' button, then 'Rename wp-admin' settings willnot be saved, but all other settings will be saved.

If you have renamed wp-admin from other plugin, this setting will remain disabled. Also it will not work with Multisite.

### Hide wp-login.php Page

Another option is provided if you wish to hide default wordpress wp-login.php page for all users. If you have enabled this option, wordpress default login page will be hidden from all users and all users will be redirected to the front end page which is mapped with login page under `ARMember`->`General Settings`->`Page Setup`

### Hide Register Link

This option will Hide/Remove registration link from wp-login.php page.

### Disable wp-login page styling

This this option is enabled, default wordpress wp-login.php page design will come instead ARMember wp-login.php design.

### Auto Lock Shared Account

When you turn ON this switch, it will clear all session except current session of logged in user from front end. `Please note` that this functionality will not applied on previously logged in user from now.

### Use Gravatars?

Here you have a switch to enable or disable feature of Gravatars. If this feature is enabled, plugin will handle profile pictures for all members.

If this is enabled then you will be able to see profile pictures of members on manage members page as well as the individual member details page. Even also at the front-end at members directory & profile pages, profile pictures of all members will be shown to users.

We also provide BuddyPress support.

### Enable Crop for Avatar and Profile Cover photo

When you turn ON this switch, in front end when user uploads his avatar or profile cover photo, he will get facility to crop the picture. Skip option is available on crop box. So if you have enabled crop from here and any user wants to skip crop, then he can click on skip.

### New User Approval

You are able to manage approval of new registered users here. There are three ways provided to approve new users which are as following,

1. ### Auto Approval

   You will find, by default this option is selected, which follows default wordpress registration process where no need to approve users manually, they will be approved by default.

2. ### Email-Activation

   If this option will be selected, then all new users who will register in the website will have `Pending` status by default and will get an email with `activation link` and they must have to go through instructions mentioned in email to complete registration. After clicking on the activation link, user will be active.

3. ### Manual / Admin Approval

   By this method, When new user registers for the site, the user will get created with `Pending` status.

   At same time Administrator will get an email for new user registration. Then Administrator will have rights whether to approve users for the site or not.

Only Active will be allowed to login to site. Users with `Pending`, `Inactive` or `Terminated` status will not be able to login to site.

Each user that exists before plugin has been activated will be treated as an approved ( Active ) user .

### Default Currency

Here you can select payment currency out of 25 available currencies for payment processes.

ARMember provides you facility to add your custom currency by clicking on Add Custom Currency.

### Sales Tax

If this switch is enabled, then you can set percentage sales tax that will be applied on final payable amount on plan + sign up page. If coupon is applied on plan amount, then tax will be applied on (final payable amount = plan amount-coupon amount). If membership plan is opf recurring type, then tax will be applied on every recurrence.

By default `Common Tax` option selected which means common sales tax will be applied for all countries.

You can also select country wise tax.

By selecting Countrywise Tax Option, you can set different percentage of tax for differnt countries.

Here `Select Country Field` have list of Dropdown or Radio type fields only from signup form.

Field `Default Tax` indicates the percentage of tax of other countries apart from country which is listed above.

Any change in sales tax rate will not affect already started subscriptions.

If you want to add tax percentage and total amount applied on final payable amount in payment summery, then you can add [TAX_AMOUNT] and [TAX_PERCENTAGE] shortcode in payment summery from 'Configure plan+Sign up page' settings.

You can add tax in email notifications and in invoice too. Template shortcodes are available for both.

### Profile Permalink Base

Profile Permalink Base section will only available if you activate Social Features from Add-ons.

You can select what slug appears in the url while checking user’s profiles. You can select either username or user id.

### Load JS & CSS In All Pages

To include ARMember related JS and CSS in your whole site, is totally depend on you. We are including js/css only in those pages/posts which are having related functionality of ARMember. But, if you want js and css universally activated in your site, then you may go for this option.

### Badge Size

The dimensions for badge image/icon will be set here and this will be applied to member badges in profile template or member directory template.

## Email Settings

### From / Reply to Name

Here you can set From / Reply to Name to be displayed in email notifications. By default you will find your site name here.

### From / Reply to Email

Here you can set From / Reply to Email address from which email notifications will be sent. By default you will find administrator's email id here.

### Admin email

This field will have value of site admin email address set in default Wordpress General settings. You can add multiple email address with `comma separated email ids`. So, all those email holders will get admin related email notification.

### Email Notification

You have three options here to select how your system support sending emails to notify admin/users.

Select `Wordpress Server` to send email using default wordpress functionality, other two options are `SMTP Server` and `PHP Mailer`.

By default Wordpress Server is selected here.

## Manage Preset Form Fields

Once you add a new field in sign up form and save the form, then those new fields having new 'meta_keys' will be added in the list of 'Preset Fields'. So you can use these fields directly in other forms too.

But once field is added in Preset Field list, any change in that field will not affect that preset field. These preset fields are displayed in Add/Edit Member page.

1. Edit Preset Fields

   Suppose you have added a dropdown labled Gender in sign up form. This field have two values 'Male and 'Female'. Now you have saved the form. So Gender field will be added in Preset field list. Now suppose you want to add third option in this dropdown. let's say 'Transgender'. So you will edit the form and add new option for this dropdown and save the form. But this option is not added in Preset field 'Gender'. So in Add Member page you will see only two options 'Male' and 'Female'.

   So if you want to update preset fields, then you need to click on this button. Popup will open containing all Preset Fields where you can change label and values of all preset fields.

2. Clear Preset Form Fields

   To remove specific form fields with its value, click on this button, popup opens, select fields which you want to remove from everywhere.

   All the fields you will add in any of sign up forms will be automatically added in the list of "Preset Fields" section of form builder. Sometimes it happens that some fields becomes unnecessary so you will remove that fields from sign up form, but those fields will still remain as it is in "Preset Fields" section even if they were deleted, so you can add them in the form from Preset Field, if again needed in future.

   But sometimes you have added fields for testing purpose and then deleted those fields from forms. If those fields will not be deleted from Preset Fields, then Preset Field list will be longer and longer. Also those deleted fields will be displayed in "Edit Member" page of administrator area. So you must need some way to clear these unused fields from everywhere.

   For these, ARMember Provides `Clear From Field` setting in `General Settings`.

   Suppose you have added a text box of "Address" in sign up form. So it will be also added in Preset Fields section. Now if you have deleted address field for any reason. But it still appears in "Preset Fields" section.

   Now to remove "Address" field from "Preset Field" section, use "Clear Form Field" button. Click on it, then popup will open as shown below.

   From popup, you can select all the fields that you want to delete from everywhere. You will see some checkboxes remain disabled as they are default fields and cannot be deleted from sign up form. Checkboxes for other fields will be enabled only if that fields were deleted from sign up form first.

   If data entry exists for any of those fields, then you will see "(Entry Exist)" in red letter beside that field checkbox. Now Select all the fields, that you want to delete from everywhere and click OK button. That's it. All selected unused fields will be removed from everywhere.

## Email Schedular Settings

## Front End Font Settings

Now give a better look at front side with different colors and fonts according to your wish. You will have following options.

Options | Description
--- | ---
Level 1 | Font settings of Level 1 will be applied to main heading of frontend shortcodes. Like Transaction listing heading and like wise.
Level 2 | Font settings of Level 2 will be applied to sub heading ( Main Labels ) of frontend shortcodes. For example table heading of trasanction listing.
Level 3 | Font settings of Level 3 will be applied to sub labels of frontend shortcodes. For example table content of trasanction listing.
Level 4 | This font style will be applied to all front end pages sub description.
Links | Font settings of Links will be applied to links of frontend shortcodes. For example edit profile, logout link and profile links etc.
Button | Font settings of Buttons will be applied to buttons of frontend shortcodes output. For example Renew button, Cancel Button, Make Payment Button etc.

## Global CSS

Here you will be able to add global css class according to your requirements which will be applied to all your templates globally.

You can find full list of class information by clicking on CSS Class Information link.

# Payment Gateways

Go to the Payment Gateways Tab at General Settings to activate and configure payment gateways.

All payments done by below payment gateways will be in selected default currency. ARMember supports 25 default currencies. You can change default currency at general options.

You need to configure Payment Gateway setting to accept payments. ARMember supports most popular payment gateways like `Paypal`, `Stripe`, `Authorize.Net`, `2Checkout` and `Bank Transfer` payment method.

ARMember integrates PCI compliant billing vendors to make sure your customer data is always safe and secure.

You need to activate one of the payment gateway in order to accept payments for paid membership plans.

Important Note: If in any case Payment Amount is zero (Ex: 100% Coupon Discount, Free Trail case etc..) then user will not be redirected to related payment gateway sites and directly get added as member to site as soon as signup process get completed. (It will not work in case of Automatic Subscription)

Please note that while uninstalling ARMember, if any user has auto recurring subscription then that will be canceled from payment gateways.

### Paypal

To activate paypal gateway, It requires your Merchant Email & PayPal API information.

Follow below steps to get API Keys:

- Log in to your PayPal Premier or Business account.
- Click the Profile sub-tab located in the top navigation area.
- Click the My selling preferences sub option in left sidebar.
- Click the API Access link under the Account Information header.
- Click the Get Started link under the Request API Credentials heading.
- Click the Update option for API access item
- Complete the API Credential Request form by clicking the agreement checkbox and clicking Submit.
- You will now get the API username, password and signature.

You can find more details about how to get API information from following links: Sandbox API Detail & Live API Detail.

### Stripe

To activate stripe gateway, you must require Secret Key & Publishable Key. Your API keys are located in your stripe account settings.

Follow below steps to get API Keys:

- Log in to your Stripe account.
- Go to "Your Account-> Account Settings".
- "Account Settings" will bring up a popup window, select the "API Keys" tab.
- You will find following two keys from this page: ﻿"Test Secret Key"﻿ and ﻿"Live Secret Key"﻿.

For 'Auto Debit Payment' of subscription type of Membership, You must create `Stripe Plan` in your stripe account and set stripe plan ID in membership setup.

Follow below steps to create stripe plan:

- Go to "Plans" section from left sidebar.
- Click on "+ New" button.
- "+ New" will bring up a popup window with plan detail form.
- Plans have the following parameters: `ID`, `Name`, `Currency`, `Amount`, `Interval`, `Interval`, `Trial period days` & `Statement desc`.
- Please fill out required fields and click on "Create Plan".
- Now set Plan ID in membership configuration page as you can see in below picture.

You must need to setup webhooks url for recurring billing. Please follow below steps to configure webhooks.

You must need to set Trial Period duration in `DAYS`.

- Go to "Your Account-> Account Settings".
- "Account Settings" will bring up a popup window, select the "Webhooks" tab.
- Click on "+ Add endpoint" button to add webhook Url.
- Now, add `http://yoursite.com/?arm-listener=arm_stripe_api` into URL input.
- Select API mode `Live` or `Test`.
- Check "Send me all events" option.
- Now click on "Create endpoint". That's it.

IMPORTANT NOTE: `Paid Trial` is `not` supported with recurring plan in stripe. But you can manage such cases in ARMember by following the steps given bellow:

For ex. If you want to add $5 for trial period of 7 Day in a recurring plan for which billing amount is $20 every month. So, you have to create a subscription plan with 7 Day trial period from your Stripe account. When someone buys this plan, he/she will be charged $5 as one time charge and also $20 as a subscription charge for the first time only. After that he will be charged $20 only every month.

Check bellow images:

Go to your stripe account and create Subscription related ID:

Go to your ARMember Plan Page and create plan accordingly.

Go to your ARMember Configure Plan + Signup Page - and set value fro strip ID.

And after successful payment with stripe, you will find 2 payment transactions : 1. Trial Amount 2. Subscription Amount. (This process is automatically managed by ARMember)

### Authorize.Net

To activate Authorize.Net gateway, you must requires API Login ID and Transaction Key.

Follow below steps to get API Login ID and Transaction Key:

- Log into your Merchant Interface at https://account.authorize.net.
- Click Account from the main toolbar.
- Click Settings in the main left side menu.
- Click API Login ID and Transaction Key in the Security Settings section.
- Under Create New Transaction Key, enter your Secret Answer.
- Note: When obtaining a new Transaction Key, you may choose to disable the old Transaction Key by clicking the box titled, Disable Old Transaction Key(s). You may want to do this if you suspect your previous Transaction Key is being used fraudulently.
- Click Submit.

For more detail about API Login ID and Transaction Key, please click here.

You must need to setup Silent Post URL url for recurring billing. Please follow below steps to configure Silent Post URL.

- Click Account from the main toolbar.
- Click Settings in the main left side menu.
- Click Silent Post URL in the Transaction Format Settings section.
- You will find option to set URL. Please add `http://yoursite.com/?arm-listener=arm_authorizenet_api` into URL input.
- Click Submit.

In case of autodebit payment, first payment will be taken as one time payment irrespective of the plan whether it includes trial period or not. Date of second recurrence will be set as subscription start date in authorize.net website for respected plan.

#### Trial Period + Authorize.NET

In Authorize.NET, it is must to keep same unit for trial period and billing cycle. (For example if your billing cycle is for 1 month, then you are allowed set trial period in months only.)

But with ARMember plugin, you can overright this limitation. It is allowed in ARMember to keep Trial Period in Days and Billing Cycle in months. (In short, it is no more required to set same unit for trial period as billing cycle while using this plugin. )

### 2Checkout

To activate 2Checkout gateway, you must requires API Username, API Password, Seller Id, Private Key, Publishable Key and Secret Word.

- #### API Username and API Password

  Follow below steps to create username:

  - Log in to your 2Checkout account.
  - Click the Account tab.
  - Click the User Management sub-tab.
  - Click +Create Username
  - Enter the required details for: email, username, and password. You should enter an un-monitored or "no-reply" email if you do not wish to receive additional email from 2Checkout regarding sales and other actions.
  - Click the API Access radio button.
  - Check the API Updating box if this username must have "write" access to your account. If you are unsure of whether or not you need this permission, refer to your cart's support documentation, or discuss this further with your software development team.
  - Click Create Username
  - After clicking Create Username you will be sent to another form where you can enter additional details for the username - you may skip over this step entirely as your username is already created.
  - Now store your API Username & Password.

  For more detail about api username & password, please click here.

- #### Seller Id (account number)

  Your 2Checkout account number (also known as: Seller Id (SID), vendor ID, merchant ID, account ID) can be found within your vendor area, and is located in the upper-right corner of the screen.

- #### Publishable and Private keys

  Follow below steps to get Publishable and Private keys:

  - Log in to your 2Checkout account.
  - Click the API tab.
  - Here You will find your Publishable and Private keys.
  - Note: If you do not see your Publishable and Private keys under the API tab, this indicates your account is not approved to use the Payment API.

  For more detail about publishable and private keys, please click here.

- #### Secret Word

  To set up the Secret Word, follow the steps below:

  - Log in to your 2Checkout account.
  - Click the Account tab.
  - Click the SITE MANAGEMENT sub-tab.
  - Scroll down to find the Secret Word field
  - You will be able to enter the Secret Word in the field that is under Direct Return and above the Approved URL field.
  - Click the Save Changes button at the bottom of the page.

  For more detail about Secret Word, please click here.

In order to set callback url for payment process, Go to 2CheckOut control panel:

- Navigate to Account tab > Site Management
- Under the Direct Return heading, you will find following options:

- Given links back to my website (Select This Option)
- Direct Return (Our URL)
- Header Redirect (Your URL)

- In the Approved URL field set the URL where you want your customer to be sent after successful Payment.

2Checkout does not support "Day" in billing cycle and free trial.
2Checkout supports only first occurrence of billing cycle as trial duration. So if you want to give trial,then set same parameters in "Billing cycle" and "Trial Period Duration", otherwise plan expiration will not work properly with 2checkout.
In Case of Automatic subscription, If total payable amount will be 0 (Zero), then 2checkout gateway will not work.
You must need to enable Instant Notification Service (INS) URL url for recurring billing.

To set up your notification URL(s) click on the Webhooks tab in your account to be directed to the Settings page. On the Settings page you may then enter a Global URL to have all notifications sent to the same URL, or you may provide a specific URL for each notification type.

Below are instructions for setting the notification URL(s) for your account.

- Enter `http://yoursite.com/?arm-listener=arm_2checkout_api` URL in the Global URL field.
- Click the orange Apply button to the right of the Global URL field.
- To receive all notification types to that URL click the green Enable All Notifications link located above the Global URL field.
- Click the black Save Settings link located above the Global URL field or at the bottom of the page. NOTE: After clicking Save Changes the URL will no longer be visible in the Global URL field, but will be listed in the URL field for each notification type.

### Bank Transfer

By enabling Bank Transfer Gateway, You will find an option in Configure Plan & Signup Page.

Here you can set fields to display on checkout page like `Transaction ID`, `Bank Name`, `Account Holder Name` & `Additional Info/Note`. Whichever field you select from here will be required in front end.

If there is zero(0) amount transaction with Bank Transfer and New user approval is auto then that transaction will approved automatically.

When someone signup for paid plan with bank transfer, transaction with pending status will be added in payment history and after that admin will have to Approve/Reject that transaction in order to activate member's plan.

If Admin Approves transaction, then member's plan will be activated. If Admin Rejects, member's transaction will be rejected & plan will be reset.

For Recurring billing plan if you pay with bank transfer, then its payment mode will be considered as "Semi Automatic Subscription".

#### Transaction ID Label

Add label for "Transaction ID" option

#### Bank Name Label

Add label for "Bank Name" option

#### Account Holder Name Label

Add label for "Account Holder Name" option

#### Additional Info/Note Label

Add label for "Additional Info/Note" option

Please note that while uninstalling ARMember, if any user has auto recurring subscription then that will be canceled from payment gateways.

# Page Setup

ARMember provides all required default pages. But if you want to create new pages according to requirement then you can create them and assign/map related page here in this option.

Go to the Page Setup Tab at General Settings to map pages.

Pages you can set here are listed below:

- Registration Page
- Login Page
- Forgot Password Page
- Change Password Page
- Edit Profile Page
- Members Profile Page `Available only if Social Feature addon is enabled`

# Opt-ins

Opt-ins section will only available if you activate Opt-ins from Add-ons.

You can configure available Email Marketing Tools from this area.

Go to the Opt-ins Tab at General Settings to configure Email Marketing Tools.

To configure tool, you just need to verify your Email Marketer account by entering API key and other required details. And after verification, system will fetch all the list name/campaign name from your account.

After configuration of tool, You will have opt-ins option in registration form - edit page, there you can select configured opt-in tools to add subscriber to list when they register to your site.

So, whenever anyone will register with that form, that user will be added to selected list of specific tool as subscriber automatically. We have internally mapped `First Name`, `Last Name` & `Email Address` field of specific form with Email Marketing Tools.

### Aweber

Please follow below steps to configure Aweber API

1. Please Enter your "Consumer key" and "Consumer Secret" obtained while application was created.
2. Click on Continue button. It will open a dialog box to authenticate your aweber account.
3. Please enter your Aweber username and password and click on "Allow Access" button.
4. That's all!! System will fetch all the list names from your aweber account. Select default List name to add subscribes.

- Get ConsumerKey and ConsumerSecret from Aweber Application

- To create an aweber application, you should have a developer account on aweber lab which is totally different from a normal aweber account. After logging in from your developer account, go to the apps page.

- Aweber apps page display list of applications created by user and display consumerKey and consumerSecret as well.

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mail Chimp

Please follow below steps to configure Mailchimp API

1. Please Enter your "API Key" obtained from your Mailchimp account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.
4. If you want to enable double opt-in method for Mailchimp, then select "Enable double opt-in" checkbox.

- Get API Key from Mailchimp Application

- First of all login to you Mailchimp account and click your profile name to expand the Account Panel, and choose `Account`.
- Than, Click on Extras drop-down menu and choose `API keys`.
- You can copy an existing API key OR click the `Create A Key` button for creating a new key.

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Constant Contact

Please follow below steps to configure Constant Contact API

1. Please Enter your "API key" and "Access Token" obtained from your Constant Contact account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.

- Get API Key and Access Token from Constant Contact Application

- Sign up for a Mashery account or log in.
- Confirm your account, if it's new. Than, Register an Application.
- After Register an Application API Key will be assigned to your application.
- Fill your API Key into this page (if not already filled in) and click Get Access Token.
- Getting an access token requires a Constant Contact account. When you click on Get Access Token, Than you are taken to a Constant Contact account sign up page. Create a new account, or if you have an existing Constant Contact account (NOT your Mashery developer account), sign in.

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mailster - Email Newsletter Plugin for WordPress (External Plugin Support)

ARMember provides support to this plugin only the plugin version is 2.0 or Higher.

If you have `opt-in addon activated` in your systems and you have installed - Mailster for newsletter then you will get functionality to add user to the particular list created with Mailster, at time of "registration" ( with ARMember Registration form ).

So, you have to check the checkbox option and select list according your requirement (`if you will not select any list then user will be added as subscriber in Mailster list - but they will not belong to any list`). So, now your registered user will be added to particular list of Mailster and you will find list under `Mailster - "Newsletter" Tab > Subscribers` , along with user's list detail.

### GetResponse

Please follow below steps to configure GetResponse API

1. Please Enter your "API Key" obtained from your GetResponse account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all campaign names from your account. Select default campaign name to add subscribes.

- Get API Key from GetResponse Application

- Login to your GetResponse Account
- You can find API Key under `My account` > `Account details` > `API & oAuth`.

- Note:

- You can refresh your campaign names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mad Mimi

Please follow below steps to configure Mad Mimi API

1. Please Enter your "Email" and "API Key" obtained from your Mad Mimi account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.

- Get API Key from Mad Mimi Application

- Login to your Mad Mimi Account
- First of all Click on `Account`.
- Than, Right Sidebar You can see `API` tab and click on this tab and you can see API Key

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mailer Lite

Please follow below steps to configure Mailer Lite API

1. Please Enter "API Key" obtained from your Mailer Lite account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all group names from your account. Select default Group name to add subscribes.

- Get API Key from Mailer Lite Application

- Login to your Mailer Lite Account
- First of all Hover your profile name to expand the `Integrations` > `Developer API`.
- Than, You can see API Key

- Note:

- You can refresh your group names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

If ARMember "Opt-in" module is activated, you will get option in SignUp form settings page - in right side bottom as shown in following image:

#### Conditional Subscription :

Now you may want to add users conditionally, for that ARMember provides `Conditional Subscription` switch at Opt-ins options in form editor. When you enable this option you will get conditional area visible at there where you can set condition. Now your subscription will be subscribed only if your condition become true at front.

You can set following possible conditions.

1. Any field's value is equals(=) to condition's value.

2. Any field's value is not equals(!=) to condition's value.

3. Any field's value is greater than(>) to condition's value.

4. Any field's value is less than(<) to condition's value.

# Default Access/Restriction

### Restrict Admin Panel

If it is required for you to restrict admin panel access from non-admin users, please check this option.

If you have enabled this option, then admin panel will be accessible only by all users who have either 'Administrator' role OR selected roles in 'Exclude role.." select box.

### Block RSS feeds

You can restrict users to check RSS feeds. If this switch is on, then feeds will be completely hide eventhough accessible according to access rules set for plan members( non-members cannot access the feed ).

### Restrict Site Access Without Login

You can `restrict` whole site for non-logged in members. When this option enable, you can set default page to display to non-logged in users.

If you enable this facility then any other pages will not be accessible by non-logged users except some pages like registration page, forgot password page OR selected apges in 'Exclude pages.." select box..

### Allow restricted Pages/Posts in listing

If you enable this switch than, restricted content will be displayed in listing only.

## Default Access Rules

This section contains all default options related to access rules.

As ARMember provides to set protection on existing Pages, Posts, Categories, etc.. from Access Rules Page, but what about if new page or post is created afterwards?

For new items you are able to set access rules here. click on input you will get list of all plans. You can add multiple plans here.

So these default settings of access rules will be applied when any new item get created.

You can set protection on following items,

- Pages
- Posts
- Categories
- Navigation Menus
- Custom Posts
- Custom Taxonomies

# Security Options

Go to the Security Options Tab at General Settings to add Security options.

### Enable Login Security For Failed Login Attempts

If you enable this option ARMember will keep record of `IP address` and `timestamp` of each failed login attempt. If more than certain number of attempts are detected within a short period of time from the same IP range, then the login function is disabled for all requests from that range of IP Address.

- Maximum Number of login attempts: Number of allowed login attempts

- Lock user temporarily for : Temporary lockdown Duration in minutes

- Permanent lock user after login attempts : Number of allowed login attempts

- Permanent lockdown Duration : Lockdown Duration in Hours

- Reset Login Attempts : You can clear all failed login attemts for every users.

- Display Remained Login Attempts Warning : If this option is enable then it will show front end user, how many login attempts are remained as warning.

When user exceeds the maximum number of login attempts, he/she will be blocked for temporary lock down time duration.

### Block Username

You can restrict specific keywords from being used as `username` in registration form with this option.

When user try to register with blocked username, Error message will be displayed. Also you can display specific error message with Blocked Username Message option.

- Note: You should place each `Username` on a new line.

### Block Email Addresses

You can restrict specific keywords from being used in `email address` at time of registration.

When someone try to register with blocked email address, for that you can set custom error message from Blocked Email Addresses Message option.

- Note: You should place each `Email Address` on a new line.

### Block IP Addresses

You can block site access for specific IP address with this option.

If anyone try to access site with mentioned blocked IP address, Error message will be displayed. Also you can display specific error message with Blocked IP Address Message option.

- Note: You should place each `IP Address` on a new line.

### Block URLs

You can block site access to specific URL or URL Patterns requested from users.

You can use `wildcard(*)` for specific pattern.

##### For Example

    http://www.example.com/*some_text*/page

- Note: You should place each `URL` or `URL Pattern` on a new line.

You will be able to block URLs plan wise too. You can add as many conditions as you want.

You will find two Blocked URLs Options whether you want to Display Message or Redirect to page when requested URL is blocked.

- If you select Display Message, You will have input to add message to be displayed when requested URL or URL pattern is blocked.
- If you select Redirect to page, You will have input to add specific URL where you want to redirect users when requested URL or URL pattern is blocked.

### Display Login History

You can keep track of login history in database for all users, if display login history switch is on.

- Reset Login History : you can clear login history log from database for all users by one click.

# Import / Export

Go to the Import / Export tab at General Settings page. Where you can see two different sections of import and export process.

## User Export

Here you can export all/particular users of your site with member data. You have given options to select particular users like users of particular plan, users of particular status or based on joining date.

- ### Plans

  Here you have list of all plans you have created. You can select one or more plans. Users of particular selected plans will be exported.

- ### Member Status

  From here you are able to export members having particular status. Member status can be Active, Inactive or Pending.

- ### Joining Date

  Select Start Date and End Date here. All Members whose joining date is between Selected Start Date and End Date, will be exported.

You will see Select Meta button. On clicking on it, you will see a popup with all user custom fields. From this popup, you will be able to select which fields you want to export, so exported file will contain only those fields.

Default exported fields are UserID, Email, Username, User Status, User Role, Membership Plan, Joined Date.

At last, there are two export buttons for two different format. If click on Export as CSV then you will get exported file in `CSV` format and if you click on Export as XML then you will get exported file in `XML` format.

You can export only non-admin users.

## User Import

As you export members, you are also able to import members.

To import members, follow below steps:

- Upload your `CSV` or `XML` file exported previously from this plugin only.
- Select one of plan to import members into selected plan.
- Click on Import button, than popup will be open with list of users with their details as shown in below screenshot.
- You can select users which you want to import. You can not select existing users from the list.
- After selecting users, Click on Add button to import users into system.
- You are allowed to import subscription start date for each user by adding one specific column `"arm_subscription_start_date"` to the CSV which your going to import. The column name must be "arm_subscription_start_date" otherwise it will not work. Also `date format must be like '2017-03-28'`.

At time of importing users, you can set their password from one of the two available ways.

- #### Set Fix Password:

  You can set a common password for all imported user.

- #### Generate Dynamically:

  Here dynamic password will get generated for all imported users. Here you will get checkbox for 'send reset password link by email'. If you kep this checkbox enabled while importing user then all imported users will get email containing reset poassword link.

  You can change content of this email from ARMember->Email Notifications->Standard Email Responses -> `Forgot Password`

- #### Set Password available in Import File:

  You can set same user password from the import file. But your file must have column name as: “user_pass”. Otherwise this option will not work.

## Export Settings

If you require to export your plugin settings for members then here is the option..! Export Settings where you have selective options. Select options you want to export and click on Export button.

Available Settings to export,

- General Options - All general options will be exported.
- Block Options - Export all block functionality related settings.
- Common Messages - Export all common messages.

## Import Settings

Here you will be able to import your previously exported settings from ARMember.

To import settings, follow below steps:

- Open `Text` file exported previously from this plugin only.
- Copy file content and paste into Import Setting textarea.
- Click on Import button. That's it.

# Social Connect / Login

Social Connect / Login section will only available if you activate Social Connect / Login from Add-ons.

Go to the Social Connect / Login tab at General Settings page. Where you can configure social networks.

### Social Login Shortcode

Here Shortcode is provided. That can be used to display all active social network login icons at front-end.

##### Social Login Shortcode:

    [arm_social_login]

## Social Signup Configuration

### Enable One Click Sign Up?

If this setting is enabled, then guest user can be registered in system with just one click on social connect button. After login user will be redirected to a page/URL which is set in Social Connect Redirection setting under `General Settings` -> `Redirection Rules` tab.

### Opt-ins

This option will come only if one click sign up is enabled. This option will list all configured opt-ins in `General Settings` -> `Opt-Ins Configuration` tab. After selecting opt-in, List selection box will be displayed. You can select list and opt-in in which you want to add user who will register in the system using one click sign up.

### Assign Default Plan

This option will come only if one click sign up is enabled. This option will list only free membership plans. You can select any of free plans which you want to assign to users who will register in the system using one click sign up.

### Registration Form Page

This option will come only if one click sign up is disabled. This option will list all pages, Select registration page where you have placed shortcode of your registration form. So when user will click on social connect button, he will be asked for social account credentials. After login to social account all basic user information like email, birth date etc. will be fetched from his social account and if email is already registered in your website, then he will be logged in directly, other wise he will be redirected to page selected in this option. Registration form on this page will be auto filled with all details fetched from social account. In this way social sign up works.

### Get Social Avatar while authenticate with social connect buttons

If this option is enabled then social profile image will be set as user's Avatar.

Make sure that `allow_url_fopen` setting is ON in your server configuration.

## Social Networks

ARMember supports following social networks.

You have to fill required information related to particular social network. For example if you wish to active Facebook then App ID and App Secret are required.

### Facebook

In order to get keys needed for Facebook API integration follow bellow instructions.

#### Create Facebook App

Following steps will help you to get your Facebook Application Id and App Secret.

1. Login to your account to create new application on this link.
2. To add your application, please choose Apps from the header navigation and then select Add a New App.
3. Select the platform you want to add for your application.
4. Set Related App name and then select Create New Facebook App ID.
5. Set No for Is this a test version of another app? and choose category for your Application and click on Create App ID.
6. Now you will have your new application details at your App's Dashboard

#### App ID

Your Application ID is unique id available at your App's Dashboard.

#### App Secret

Facebook will auto-generate an App Secret for your application. Your App Secret will be treated as password therefore you have to click on Show button to make your App Secret visible.

Get your unique `App ID` and `App Secret` and use them for ARMember plugin where needed.

Also you need to set your website URL in "App Domains" of created App. Do not forget to set this,otherwise social connect will not work with ARMember.

### Twitter

In order to get keys needed for Twitter API follow certain instructions given below.

#### Create Twitter Application

Following steps will help you to get Consumer key & Consumer secret for Twitter.

1. Login to your account at dev.twitter.com/apps and click on Create New App button.
2. Now fill required information like name, description, website for your application.
3. Tick Yes, I agree to accept the Terms of services and click on Create your Twitter Application button.
4. Now you have all your created applications on apps.twitter.com
5. Go to "Settings" tab and add URL of your website in website textbox under application Details.
6. Set callback URL "http://your-site-url/?page=arm_twitter_return" in Callback URL. You may get callback URL from `ARMember` -> `General Settings` -> `Social Connect` -> `Twitter`.

#### Request Twitter To Elevated Permissions

You must need to get permissions from twitter otherwise One Click Sign Up with twitter not working proper.

1. Go to https://support.twitter.com/forms/platform
2. Select "I need access to special permissions" and then select "Permission to request email address for Fabric apps"
3. Enter Application Name and ID. These can be obtained via https://apps.twitter.com/ -- the application ID is the numeric part in the browser's address bar after you click your app.
4. Permissions Request: "Email address"
5. Submit & wait for response
6. After your request is granted, an additional permission setting is added in your twitter app's "Permission" section. Go to "Additional Permissions" and just tick the checkbox for "Request email addresses from users".

#### Consumer Key ( API key ) and Consumer Secret ( API Secret )

To get these keys click OAuth Tool tab in your Twitter Application where you are able to have your consumer key and consumer secret.

Copy these keys from here and use them in our ARMember plugin where needed.

### LinkedIn

In order to get Client ID and Client Secret for Linked IN, you have to follow steps given below.

#### Create an application

1. First of all Login in Linked IN and go to www.linkedin.com/secure/developer?newapp.
2. Click on Create Application from the top left hand side.
3. Provide all information asked to fill here. You can use dummy data except for Website URL, provide an absolute URL and click on Submit.
4. Now Go to javascript from left panel. Enter yout wsebisite url in "Valid SDK Domains" and press Add button and then press update.

#### Client ID and Client Secret

Now you can get Client ID and Client Secret from next page after creating new application.

Copy that keys and use them in our ARMember plugin where needed.

### Google

In order to get keys for Google, you have to follow steps given below.

#### Create Project

1. First you have to login to your google account in order to create project.
2. Go to the Google Developers Console and click on Create an empty project
3. After then dialog box will appear where you have to provide your Project name and a Project ID for your new app and click Create.
4. Enable Google APIs, and go to API & auth from sidebar where you get the list of APIs.
5. In the list Find Google+ API and set its status `ON` and enable Google+ API.
6. Now get your `CLIENT ID` and `API KEY` as described below.

### Client ID

Go to the Credentials where you have a button Add Creadentials to create new credential.

When you create your credential you will get your Client ID.

### API Key

Go to the Credentials where you can create an API key by clicking Create New Key. Select Server key and then click Create.

Copy these keys and use them in our ARMember plugin where needed.

### VKontakte

In order to get API ID for VKontakte, you have to follow steps given below.

1. Login first in VKontakte and Create a new app.
2. It will be required to confirm the request with an SMS message for the security reason.
3. Register your new application by adding information asked there, complete the form and Save your application.
4. Once the application is registered, you will have your `APPLICATION ID` and `SECURE KEY`as described below..

### Application Id and Secure Key

Go to the Settings page.

On setting page set Authorized redirect URI field. That is display in ARMember General Setting in Social Connect tab to VK section.

Now you can get Application Id and Secure Key.

Copy these keys and use them in our ARMember plugin where needed.

### Instagram

In order to get keys required for Instagram API integration please go through following instructions.

#### Create Instagram Client

Following steps will help you to get your Instagram Application Client ID and Client Secret.

1. Login to your account to create new client from here.
2. To add or manage your client, please choose Apps from the below header navigation click on Register a Client
3. Set Related Application name, Description, Company Name, Website URL, Valid redirect URIs, Privacy Policy URL, Contact email and then click on Register.
4. Now you will have your new client details at your Manange Clients
5. To get `Client ID` and `Client Secret` click on Manage link.

#### Client ID

Your Client ID is unique id available at your Manage Client page.

#### Client Secret

Instagram will auto-generate an Client Secret for your client. To get Client Secrent you have to click on Manage button then after Client Secret will be visible.

Get your unique `Client ID` and `Client Secret` and use them for ARMember plugin where needed.

### Social Connect Icons and formatting

ARMember provides formatting options of a social icon in login form with its preview. You can set it from `Manage Forms > Other Forms (set of forms)` You will find settings, shown in below screenshot

ARMember provides 7 different icons option for each social network as well as you can upload custom icon. Also you can set order of social icons for selected networks. For these settings check settings of "Button Skin" in social connect options.

### Social Login Shortcode in any post/page

You can add Shortcode of any social login network, through the "Membership Shortcode" option by editing page/post.

# BuddyPress

BuddyPress section will only available if you activate Buddypress Integration from Add-ons.

Go to the BuddyPress tab at General Settings page. Where you can configure BuddPress settings.

### BuddyPress Profile Fields Mapping

Also We have facility to map BuddyPress profile fields with ARMember Sign Up/Edit Profile form fields.

After activating BuddyPress addon, you will find "BuddyPress" tab in `ARMember`->`General Settings`.

Here under "Map with BuddyPress Profile Fields", you will find all fields from all ARMember sign up forms. With each ARMember field, you can map any BuddyPress Xprofile field.

NOTE: If you have installed and activated "Buddypress Xprofile Custom Fields Type" plugin to add more fields type in BuddyPress, then you can also map all these fileds type with ARMember form fields.

if you have mapped fields properly and saved the settings, then mapped ARMember and BuddyPress Profile will always remain in synchronization. If you don't want to sync any of the field then just remove its mapping and save the settings.

You can map ARMember user avatar and profile cover with BuddyPress Profile photo and cover photo by keeping respective switch on as shown in screenshot. After saving the settings, BuddyPress and ARMember avatar and profile cover will always remain in synchronization.

### BuddyPress Profile Page Mapping

If you want to display ARMember page instead of BuddyPress profile page to the users when they try to access Buddypress profile page, then you can do it by selecting ARMember page in "Select ARMember Profile Page instead BuddyPress profile Page" select box and then save settings. Keep "Select Page" selected here, if you don't want to map ARMember page with BuddyPress Profile page.

### Sync BuddyPress & ARMember

Sync will happen only if you have mapped ARMember fields with BuddyPress fileds and saved settings successfully. please note that this is one time process. It is helpful only when you want to push ARMember user data to BuddyPress OR Pull user data to ARMember from BuddyPress to sync ARMember and BuddyPress.

There are two sync actions provided as below:

- Pull Data from BuddyPress : If this action is selected, then all mapped ARMember fields will be filled with respective mapped BuddyPress field values.
- Pull Data from ARMember : If this action is selected, then all mapped BuddyPress fields will be filled with respective mapped ARMember field values.

Select an action and click on 'Sync' button, selected sync action will occure. You will need this action once because after this all mapped fields will always remain in synchronization.

# Redirection Rules

Go to the Redirection Rules tab at General Settings page. Where you can set default redirectrion rules for login, registration, plan + signup, social connect.

### Login Form Redirection Rules

From here, you can set rules for redirecting user after succesfull login from ARMember login form. ARMember provides two options for login redirection. These rules apply same for all users irrespective of from which login form set user have logged in.

- Fixed Redirection
- Conditional Redirection

1. Fixed Redirection

   You can redirect user to a page/ specific URL / back to referer after login.

   In case of URL two shorcodes are supported :

   - {ARMCURRENTUSERNAME} : add current user's username in url
   - {ARMCURRENTUSERID} : add current user's id in url

   So, this option will be helpful if you directly want to redirect users to their related profile page.(For example: profile page of buddyPress having username or userid in its url.)

2. Conditional Redirection

   You can conditionally redirect user to different pages according to his plan. Different conditions are as below:

   - First Time Logged In
   - In Trial
   - In Grace Period
   - Failed Payment
   - Pending
   - Before Expiration Of x Days

If none of the conditions matches, then user will be redirected to URL set in 'Default Redirection'.

NOTE: This rules will be applied only if user is logged in from front through ARMember login form.

### Basic SignUp Form Redirection Rules

From here, you can set rules for redirecting user after succesfull registration through ARMember sign up form . ARMember provides two options for sign up redirection.

- Fixed Redirection
- Form Wise Redirection

1. Fixed Redirection

   You can redirect user to a page/ specific URL after signup.

2. Form Wise Redirection

   You can conditionally redirect user to different pages based on sign up form from which he signed up.

If none of the conditions matches, then user will be redirected to URL set in 'Default Redirection'.

NOTE: This rules will be applied only if user is signed up from front through ARMember signup form.

### Plan+Sign Up Redirection Rules

From here, you can ser rules for redirecting user from plan+sinup page.

ARMember provides different options for redirecting user from this page. For ex. when user first time sign up with any plan redirect to page A, when user changes to / purchase a new plan redirect to page B, when user renew his plan redirect user to page C.

These rules will apply irrespective of which plan+signup shortcode is used.

1. Redirection for Membership SignUp

   You can redirect users to fixed page / Fixed URL/ specific page plan wise when user first time sign up with any membership plan thorugh plan+signup shortcode.

2. Redirection for Add/Change Membership

   You can redirect users to fixed page / Fixed URL when user purchase/changes to a new membership after login through plan+signup shortcode.

3. Redirection For Renew Membership

   You can redirect users to fixed page / Fixed URL when user renew his membership after login through plan+signup shortcode.

If none of the above case matches, then user will be redirected to URL set in 'Default Redirection'.

### Social Connect Redirection ( For One Click Signup )

From here, you can set rule for redirect user when they use social connect button to connect to system. You can redirect user to specific page/URL after they login to system using social connect button.

NOTE: This rules will be applied only if `One Click Sign up` is enabled in `Social Connect` from `ARMember` -> `General Settings`.

### Default Redirection Rules

From here, you can set default redirection rules for logged in/non logged in when they try to access restricted content from `ARMember` -> `Access Rules`.

1. For non logged in users

   All restricted content will be accessed only by user have specific plan/no plan as per set in access rules. So when any non logged in user try to access any restricted content(pages/posts), then he will be redirected to home/specific page as per set in 'For non logged in users ' option.

2. For logged in users

   When any logged in user try to access any restricted content(pages/posts), then he will be redirected to home/specific page as per set in 'For logged in users' option.

3. Restricted drip item access redirection

   When any user logged in/non logged in try to access any restricted content(pages/posts) which is added in `ARMember`->`General Settings` but not dripped yet, then he will be redirected to home/specific page as per set in 'Restricted drip item access redirection' option.

# Common Messages

Here You can set default Error messages and Success messages on submit.

Go to the Common Messages Tab at General Settings to configure Error messages and Success messages.

### Login Related Messages

Here you can manage login form related messages.

### Forgot Password Messages

Here you can manage forgot password form related messages.

### Change Password Messages

Here you can manage change password form related messages.

### Close Account Messages

Here you can manage close account form related messages.

### Registration / Edit Profile Messages

Here you can manage registration/edit profile form related messages.

### Account Related Messages

Here you can manage account status related error messages.

### Payment Related Messages

Here you can manage payment related messages.

### Coupon Related Messages

Here you can manage Coupon Related Messages.

### Profile/Directory Related Messages

Here you can manage Profile/Directory Related Messages.

### Miscellaneous Messages

Here you can manage other section related messages.

#### Following picture shows which kind of messages are available to customize.

# Invoice &Tax

Invoice & Tax will only available if you activate Invoice & Tax from Add-ons.

After activating this module, you will able to add sales tax in plan+signup page and generate Invoice of each order.

### Invoice

Go to the Invoice Template tab at General Settings page. Where you can change in default template for invoice which can be directly print out by admin from `ARMemebr`->`Payment History`.

If you want to reset to "default template" again, then click on `Reset To Default Template` button. Do not forget to keep back up of template code as after resetting all changes in invoice template will be gone.

Invoice will open in popup when you click on View Invoice action button in Payment History. Here in popup Print button is available from where you can directly print out.

NOTE: `View Invoice` action button will come only for transaction with Success status.

### Sales Tax

If this switch is enabled, then you can set percentage sales tax that will be applied on final payable amount on plan + sign up page. If coupon is applied on plan amount, then tax will be applied on (final payable amount = plan amount-coupon amount). If membership plan is of recurring type, then tax will be applied on every recurrence.

By default `Common Tax` option is selected which means common sales tax will be applied for all countries.

You can also select country wise tax.

By selecting Countrywise Tax Option, you can set different percentage of tax for different countries.

Here `Select Country Field` have list of Dropdown or Radio type fields only from signup form.

Field `Default Tax` indicates the percentage of tax of other countries apart from country which is listed above.

Any change in sales tax rate will not affect already started subscriptions.

If you want to add tax percentage and total amount applied on final payable amount in payment summery, then you can add [TAX_AMOUNT] and [TAX_PERCENTAGE] shortcode in payment summery from 'Configure plan+Sign up page' settings.

You can add tax in email notifications and in invoice too. Template shortcodes are available for both.

### Invoice Prefix/Suffix Settings

You can find this option at `General Settings` > `General Options`.

By enabling this option you can set prefix, suffix and number of digit for invoice.

After save changes, you will see invoice number like following format in the screenshot.

# Single vs. Multiple Membership

ARMembers provides facility to have multiple membership simultaneously for members.

Multiple Membership will be available only if you activate Multiple Membership from Add-ons.

1. Single Membership

   If Multiple Membership add-on is not activated, then user cannot have more than one plan. When user have already one plan and again purchase a new plan, then it is considered as 'Change Plan' action and old plan is removed from user and new plan is assigned.

2. Multiple Membership

   If Multiple Membership add-on is activated, then user can have more than one plan simultaneously. When user have already one plan and again purchase a new plan, then it is considered as 'Add Plan' action and new plan is added in user's plan list. Users can have as many plans as they want simultaneously.

   User can purchase only one plan at a time.

   In Manage Members grid, user's all plans will be displayed as below:

   All plan details will be displayed in child grid.

# Manage Members

When ARMember plugin will be installed, Existing members will be treated as WordPress Default members, And those members are activated by default.

To view list of all members with their details go to the Manage Members menu from the admin interface.

Here you are able to see all members listed with their details like Username, Email Address, Membership, Role, Status, Joined date etc.. Each column is sortable here.

## Show / Hide columns

You are able to display only your required columns from this option. For example if you want to show Avatar and hide User ID column then click on Show / Hide columns button, Check Avatar and Uncheck User ID from list of columns.

## Bulk Actions

This option will be helpful when same action need to be performed on multiple user rows at same time.

- ### Delete

  Select number of rows that you want to delete and select Delete Bulk Action then click on Go button.

- ### Change Plan To

  This option will not come if Multiple Membership is enabled. Same as Delete action, To change subscription plan of members very easily, select members and select plan that you want to assign to all selected members and click on Go button.

  When member's plan changed by Admin, Membership History will be added as New Subscription with `Manual` payment.

## Actions

For each row of grid there are some action options provided which are as following,

- ### View Detail

  At each row you have Icon for `VIEW DETAIL` at right side, by clicking on VIEW DETAIL you will be redirected to member's detail page.

  There, you will find following details of member:

  #### Personal Details

  This section displays member's basic details, registration form (member registered through this form) & form fields & etc..

  #### Profile Picture & Login Detail

  This section display member's profile picture, edit profile link, member's badges & last login information.

  #### Membership History

  If user has subscribed to any membership plan, this section will display all membership history with list of membership events.

  #### Payment History

  If user had purchased any membership plan,this section will display all payment history.

- ### Edit Member

  At each row you have Icon for `EDIT MEMBER` at right side, by clicking on Edit Member you will be redirected to page where you will be allowed to Update Member Details.

  You will not be able to change Username.

  You can update member's basic field like `Email Address`, `Password`, `First Name`, `Last Name` & `User Role`

  You also can update / change `Membership Plan` & `Member Status`, `Extend Days` , `Renew Cycle` and other related fields ... from here.

  NOTE:

  - #### Extend Days

    Through this option you can extend plan renewal date for particular user. This option will not come if plan status is suspended.

  - #### Renew Cycle

    Through this option you can skip one subscription cycle for a particular user. If plan status is suspended and next renewal date is greated than current date, then next renewal date willnot be changed and it is considered as payment of skipped cycle has come.

  - Extend Days & Renew Cycle will only work in case of plan with subscription. As well as only work with "Semi automatic" payment method.

  When member's plan changed by Admin, Membership History will be added as New Subscription with `Manual` payment.

  When any member will register using our registration form, that form & fields will be assigned to that user. So whenever admin or user update its profile, that form and fields will also be available in Edit Profile page.

- ### ReSend Email

  This Option will only be available if a member in a list is yet not active to site. So you can re-send email of member verification to particular user.

- ### Change Status

  At each row you have Icon for `CHANGE STATUS` at right side, by clicking on Change Status, confirm popup will be open. Admin can either Activate, Inactivate Or Terminate users from here.

  There are many different types of member status available in different cases.

  #### Active

  Active status indicates that user is verified & activated in system.

  #### Pending

  Pending status indicates that user is not verified yet, that user need to verify/activate his/her account by going through verification email instruction.

  You can manually activate user status from here. And also notify user about his/her active status via email if keep Notify user via email checkbox selected while changing status. This checkbox is only available when user status is "PENDING".

  You can change this email notification content from `ARMember > Email Notification > Standard Email Responses > Manual User Activation`

  #### Inactive (Admin)

  When Admin inactivate any member, then Inactive (Admin) status will be assigned to that user. User's plan will not be affected with this action. These users cannot login to system.

  #### Inactive (User Cancelled)

  Whenever member will cancel its recurring membership, then Inactive (User Cancelled) status will be assigned to that user. When user close his account, all his plan will be removed.

  #### Terminated

  When Admin terminate any member, then all his plan will be removed and user will be assigned Terminated status. Terminated users cannot login to system.

- ### Manage Plans

  When click on these button a popup will open from where user can easily manage his plan like delete plan, change plan expiry date, make suspended plan active, add/change plan.

- ### Delete

  Each member can be deleted by just one click on `DELETE` Icon at right side.

## Filters

You have Search Box at top of the grid to get members by particular string. Another filters are also available at there as following,

- Membership Plans
- Subscription Mode (Automatic, Semi Automatic)
- Status (User status like Active, Inactive, pending etc..)
- Membership Type - If Multiple Membership/Plans is enabled from Add-ons then this will help you to filter members (Single Membership, Multiple Membership)

## Add New Member

You have a button at top, by clicking on Add Member button you will be redirected to page from where you can add members manually.

Now you may no need to send Signup Completed Email Notification to User while adding new user manually then you just need to disable option here Send Signup Email Notification to User.

# Manage Subscription Plans

You are allowed to create unlimited plans ( For example, Free Plan, Silver Plan, Gold Plan etc.. ).

At Manage Plan you have a grid to manage all plans with following columns. Each column is sortable here.

- Plan Name - Shows Title of Plan you have set.
- Plan Type - Shows subscription is Free or Paid, if it is Paid then it will show `AMOUNT` with `PLAN DURATION`.
- Members - Shows number of users who has purchased particular subscription.
- WP Role - Shows Role to be assigned to the users of particular Plan.

You have a button Add New Plan at top where you can add different types of plans according to your requirements.

Here you can add various different types of Free/Paid Subscription plans with various general options and Subscription Types & Amount related options.

### General Options

Some Common Options for subscription plans are,

#### Plan Name

Add title of subscription to be displayed at front.

#### Plan Description

Add content to describe your plan to the site users.

#### Member Role

Here you will have list of all wordpress default user roles as well as ARMember add another role which is `ARMEMBER`. Select user role which is to be assigned to users of this plan.

#### Inherit Access Rules Of Subscription Plan

If you wish to have same access rules as you have set in other plans then you can select that plan, when this plan will be created access rules of your selected plan will be inherited.

### Plan Type & Price

Here you will get all different options to create different types of plans like free plan, paid plan(infinite), paid plan(finite), Subscription/Recurring Payment. Each options are described here.

#### Plan Types

Here you have different options available to select as per your requirements.

- Free Plans

  If you wish to create a free membership plan with no payment then select this option. Free membership plan is valid for lifetime, there will be no expiration of user's membership with this plan.

- Paid Plans

  Other 3 Options are for paid plans with different Payment Type case.

  Here you are able to create Paid membership plan with many options like Plan Duration, Amount, etc.. When you select any of Paid plan option, you will be able to access other related options of payment and payment cycle etc for a plan.

## Paid Plan

There are some possible types of plans you can create with different options. Each possible types of plans are described here.

1. Paid Plan (infinite) - Life Time Plan

   If you select this plan type, you just need to add Amount for your plan. There will be no expiration of user's membership with this plan.

2. Paid Plan (finite) (Specific Plan Duration)

   ###

   Select this option to give a specific time limitation for your paid plan. When you select this option, another options will be available - to set plan duration, action to be performed when plan duration will be finished, Upgrade or Downgrade Action option.

   For this plan, you have to add Amount.

   Plan Duration
   - Based on Joined Date:

     Here, you will be able to set Plan Duration in Days, Weeks, Months or Years. The expiration date totally depends on the joining date of a user.

   - Fix Duration:

     You can add a fix date on which plan will get expired irrespective of user's joinig date.

     This option will be helpful if you wanted to create a small term campaign on your site. Suppose, you have set 28/02/2017 as expired date for your campaign, then all users' membership belong to this plan get expired on that day even though user has just registered before a day ago. And after that date (in this case : 28/02/2017) no user can do registration for that plan.

   End Of Term Action

   You can set actions to be performed when plan expire, you can block users or give access to Free Plan.

   Grace Period End of Term

   Grace Period is extension in `number of days of expiration` to any member having particular plan.

   If grace period is set to `grater than zero`, then these many days will be added to End Of Term(EOT).

   For example, if any member has expiration date of `10th Dec 2016` & grace period is set to `5 days` then EOT action of that user will be performed on `15th Dec 2016` as he will get 5 days extension for his expiration date. And in these 5 days he will get a chance to renew/change his membership & he will be able to access complete site as it is.

3. Subscription / Recurring Payment

   Select this as Payment Type to create Recurring Billing Paid Plan. On selecting this option you will have other options.

   You can set multiple payment cycle for same plan. On front end, while purchasing plan user will get an option to select with which payment cycle he wants to pay. Please note that user cannot change his payment cycle until all cycles complete.

   Billing Cycle

   Select Time duration for billing cycle, you can set time in Days, Months or Years.

   You should add Billing Cycle according to payment gateway support. i.e. Authorize.NET will not support daily billing cycle, it supports minimum 7 days billing cycle.

   Recurring Time

   From here you can select number of recurring occurrence, if you want to set no limit for recurring plan then you can select Infinite.

   Trial Period

   If you wish to provide trial period for plan to users then check this option and add your trial amount as well as trial period in Days, Months or Years.

   Billing Cycle Starts From

   From here, you can select from when the user's billing cycle should get started. (for ex: From transaction day/ 1st day of month .... to .... 31st day of month)

   This is Possible only in the case of semi-automatic / manual subscription

   Cancel Subscription Action (By User)

   Set actions that will be performed if member cancel his/her subscription from front-end, you can remove this plan from that user or give access to any of the Plan created in your system.

   You will get two more options : whether cancel subscription immediately or do not cancel it until plan get expired.

   If you select 'do not cancel it until plan get expired' in case of plan having Infinite recurring time, and if user cancel subscription from front end, then 'Cancel Subscription Action (By User)' action will occure after end of current payment cycle.

   End Of Term Action

   Also you can set actions to be performed when plan expire, you can remove plan from user or give access to any of the Plan created in your system.

   Grace Period End of Term

   Grace Period is extension in `number of days of expiration` to any member having particular plan.

   If grace period is set to `grater than zero`, then these many days will be added to End Of Term(EOT).

   For example, if any member has expiration date of `10th Dec 2016` & grace period is set to `5 days` then EOT action of that user will be performed on `15th Dec 2016` as he will get 5 days extension for his expiration date. And in these 5 days he will get a chance to renew/change his membership & he will be able to access complete site as it is.

   Payment Failed Action
   - Failed Payment in Auto Debit Subscription

     Failed Payment action will be called manually if payment is not received till next renewal date + 24 hours.

     Also Failed payment action will occure if 'Failed Payment' response is received from payment gateway side.

   - Failed Payment in Semi Automatic Subscription

     Failed Payment action will be called manually if user is failed to pay manually from your site till next renewal date.

   On fail payment, you can either remove plan from user or give access to any of the Plan created in your system.

   Grace Period Failed Payment

   Grace Period is extension in `number of days in case of Failed Payment` to any member having particular plan.

   How it will work in 2 different case of payment:

   For any reason if payment get failed from payment gateway side , these many days will be added to nexr renewal date for user to make successful payment.

   Enable Upgrade / Downgrade Action

   This action will not work for Multiple Membership add on is enabled. As in case of Multiple Membership, plan is not changed but plan is added to user plan list.

   Upgrade / Downgrade Action is for admin reference when user chnages its plan from one to another plan.

   You will get individual options for Upgrade plan and Downgrade plan :

   - Upgrade Plan:

     Here, you have to Select plan(s) which you are considering as higher level is higher than current plan.

     And here you will get 2 action options:

     1. Upgrade to other plan after current plan expiration ( After End Of Term) : User's new plan will be apply only after current plan's end of term.

     2. Immediately upgrade to other plan: As soon as user will change the plan, on the spot new plan will be applied to that user.

   - Downgrade Plan:

     Here, you have to Select plan(s) which you are considering as lower level is lower than current plan.

     And here you will get 2 action options:

     1. Downgrade to other plan after current plan expiration ( After End Of Term) : User's new plan will be apply only after current plan's end of term.

     2. Immediately downgrade to other plan: As soon as user will change the plan, on the spot new plan will be applied to that user.

# Configure Plan + Signup Page

Most important thing in ARMember is to integrate your `PLANS`, your `REGISTRATION FORM`, your `PAYMENT GATEWAYS`, `COUPONS` to membership page along with desired styling for front side.. All these possible only using single shortcode.

Go to the Configure Plan + Signup Page menu from the admin interface where you can find a grid containing all previously created membership setup if any.

Here you have columns for Setup Name, Plans, Gateways, Member Form and Shortcode.

##### Setup Shortcode

    [arm_setup id="1"]

You are able to edit and delete each setup from each row of membership setup, click on EDIT to edit existing setup and click on DELETE to delete existing setup.

Now if you want to add another new membership setup then you have button of Add New Setup from where you can generate new membership setup.

By clicking on "Add New Setup" you will have all options to integrate your payment gateways, plans, etc..

Let's see each steps in detail:

#### Setup Name

Before you start with integration, you will be asked for a name which will be assigned to your membership setup.

## Basic Configuration

### Step 1 : Select Your Plans

In the first step you can integrate your membership plans that you want to include in your membership setup.

Here you will have list of all plans which you have created at Manage Plans. Select your required plans from here.

You are able to `Select Plan Layout`.

### Step 2 : Select Your Registration Form

Now integrate your registration/signup form. You have a dropdown which contains all your registration forms, select one of them.

Form will not be displayed in case,

- If user is already logged in, then form will not be displayed.

### Step 3 : Select Payment Gateways

You will have a list of all payment gateways which are activated from payment gateways general settings. Select payment gateways through which users can do payment for relevant plans.

You are able to `Select Payment Gateway Layout`.

#### Mode of Subscription

- #### Allow Semi Automatic(manual) method only:

  If this method is used, then user has to pay manually from your system whenever it is end of the Billing Cycle. Here, in this method all payment gateways are supported.( For ex: Suppose user has paid from paypal for the first time , then he/she can pay using same option or other payment options like - authorize.net, 2checkout, bank transfer etc..)

- #### Allow Auto debit method only:

  In this method, recurring take place automatically at end of the Billing Cycle - based on the payment gateway selected by user.

- #### Both (allow user to select payment method)

  If this option is selected, then user will get 2 options after selecting payment gateway in front-end side while filling form and according to that transactions will take place. Check in below image:

### Enable coupon with payment?

If this option is enabled then user will get an option to add Coupon Code at time of payment in front side. and this will be optional.

### Use coupon as invitation code?

If this option is enabled then user will get an option to add Coupon Code at time of payment and this will be compalsory field. So, if you want to make a system to allow registration with some specific invitation code then this option will be helpful.

## Other Options

### Step 4 : Set Labels

You can also set different labels to be displayed in front side for - Submit Button Label, Payment Section Title, Payment mode Selection title, Summary Texts related to Plan name, Plan amount, Discount amount - relevant to plan, Payable amount etc...

## Styling & Formatting

### Step 5 : Select Your Plan Skin

Armember provides various skin options for membership setup. Select theme and check its `Preview` to get more idea how your setup will look like in front side.

Different kind of skin layouts are available with `different heading`, `different background`, `dropdown format` etc.

When plan skin is changed, font and color settings will be reset to default settings for each skin automatically. So if you have done any custom font and color settings for plan+sign up page, then you need to do it again before saving form.

Enable two step registration: If this switch is Enabled then whole plan+sign up page content displayed in two setps. First step will display plan and payment cycle selection with next button to go to second step and second step will display registration form and payment gateway selection with previous button to go to first step again for plan selection.

Next Button Label: This option will come only if two setp registration is enabled. From here you can change lable of 'Next' button.

Previous Button Label: This option will come only if two setp registration is enabled. From here you can change lable of 'Previous' button.

Hide Current Plans: This setting is used to hide user's current plans from plan selection area in plan+signup page whern user is logged in.

Hide Plan Selection Area: If this switch is Enabled then plan selection portion will not be displayed and default plan which is set in admin side setup, will be assigned.

Plan Selection Area Position: From here, you can set position of "plan section" from available 2 options: "Before Registration Form" OR "After Registration Form"

Select Payment Gateway Skin : Whether you want to show it in radio button or drop down.

You can set content width and form position as well.

Select Plan and Payment gateway column wise Layout.

In Plan Layout: From here, you can select one plan which is shown as selected plan by default in front end.

You can also set position of Plans and Payment Gateways as those are `sortable`.

Select Fonts

You are able to change fonts settings which apply to content of plans and payment gateways. You have following font options.

Options | Description
--- | ---
Font Family | Change Font from given list of fonts where google fonts are also supported.
Font Size | Change font size from here which is in px.
Font Style | You are able to apply font styles from here. You have following font styles. Bold Italic Underline Line-through

Color Options

Set Color Scheme related to your theme according to requirement.

Options | Description
--- | ---
Font Color Options | Change color for Plan Title Font, Plan Description Font, Price Font, Summary Font.
Active State Color Options | Change color for Selected Plan Background, Selected Plan Title Font, Selected Plan Description Font, Selected Price Font.

Custom Css

Here you are able to set custom styles ( css ) for your integrated membership front-end page.

### Pre Populate Fields Support

Often a form will contain several generic fields that many respondents will answer in the same way. Rather than making users fill in these fields, which can be repetitive and time consuming, you can pre-populate them with the correct information so that, when users open the form, these fields will already be filled in. To do so, you will need the form’s URL and the variable names associated with the fields they want to fill in.

Field values can be passed into a form by appending them to the form’s URL using the following structure:

`baseURL?variable1=value`

Replace baseURL with the form’s URL, variable1 with the `name attribute` associated with the field to be filled in and value with the appropriate `plan's ID` value. To fill in multiple fields, insert the ampersand symbol (&) before any additional variables:

`baseURL?variable1=value&variable2=value`

##### For Example:

    http://your_site_url/membership-setup-page/?subscription_plan=2

The result of above example will be like - the plan with plan id value 2 get selected.

# Invite Only Member

This option will be available from "Configure Plan + Signup Page" and Addon "Coupon" is required to be activated.

Here, Coupon code will work as "special code / Invite code".

If this option is enabled then user will get an option to add Coupon Code at time of registration and this will be a compalsory field. So, if you want to make a system to allow registration with some specific invitation code then this option will be helpful.

Once user get logged into system, this code will work normally as coupon code.

If you are setting an "Invite code" with some percent of discount (for example : 10%), then that code will work as both "invitation code" as well as it will give discount (10%) to that user on payment.

# Manage Forms

Easy & simple Form editoris available to add custom form styling & settings.

## Features:

- Create Unlimited Registration Forms, Login Forms, Forgot Password Forms and Change Password Forms
- 5 Ready Templates for Registration forms, Login Forms, Forgot Password forms and Change Password Forms
- Embed forms using shortcode in your site
- `Drag & Drop` preset fields & user fields support

- Different Form Layouts are available,

  - Standard Style
  - Material Style ( Default )
  - Rounded Style
- Ready to use Preset Fields & Form fields. ( No Need of any kind of configuration. )
- `Font-Awesome` icons Support ( For form input fields )
- LTR RTL Supported forms
- Color Scheme options are available to customize layout / design.
- Shortcodes for each forms are available.
- Additional Shortcodes `[arm_logout]` for Logout, `[arm_edit_profile]` for Edit / Update Profile, `[arm_close_account]` for Close Account and `[arm_social_login]` to display Social Network Buttons.
- You can set different `Redirection Rules` for sign up and login forms from `ARMember`->`General Settings`->`Redirection Rules`

### Form Templates

We are providing number of ready to use form templates for Registration/Signup form as well as set of login, forgot password, change password forms.

Those templates are ready with some specific layouts. You can select any of them and also edit it for your form as per requirement.

This option, to chose template for your form will only be available at time of creating a form.

### Form Editor

- Registration/Signup forms are individually editable.

- Login, Forgot Password & Change Password - these 3 forms are interdependent in terms of form settings. So, all the settings will apply to those three forms commonly.

### Form Elements With Drag & Drop Feature

Form fields and preset fields are only available for Registration forms.

You can add Preset Fields or Form Fields in registration form by Drag & Drop or clicking on specific field.

Preset fields contains - a list of preset basic fields as well as your last added custom fields. You can also add social profile fields like facebook, twitter, linked,etc from `Social Profile Fields` button.

Form fields contains - a list of all form elements. After adding form fields, you might need to update field options for unique field meta key.

### Form Settings and Styles Options

There are two sections - Basic Options & Advanced Options for form settings & styling.

In Basic options, you can manage form display direction (`Horizontally` & `Vertically`), form width, form style, form Alignment, color schemes & form submit actions as you can see in below picture.

If Opt-ins feature is enable & properly configured, you will find Opt-ins section here where you can map registration form with Email Marketing Tools. You just have to select tool & specific list name. We have internally mapped required form fields with Email Marketing Tools.

User avatar filed is available with `image cropper` with web and mobile support.

When you are editing Set of forms(login,forgot password,change password), You will find basic options for each login, forgot password & change password forms. Different options are available for redirection after form submit, display message after form submit, forgot password link, registration link, social login option.

`Display Social Login` option will only available if Social Connect / Login feature is enabled.

- #### Form Options

  Here you have all main options related to form styling such as form width, form border options, padding, form alignment and form background options. You have choice whether form title should be displayed or not. You can also change form title styling & position.

- #### Color Options

  ARmember provide total 12 different preset color schemes. You can also set your custom color options by clicking on paint brush icon available under list of color schemes.

- #### Input Field Options

  Here you have all inputs related options to manage styling of all the input fields like textbox, textarea, radio buttons, checkboxes, dropdowns etc. You can set field width & height, field spacing and border size and its radius etc... You can also set spacing between two fields.

  You also have other options such as text direction LTR - RTL, font options, Calendar styling option for datetime picker controls.

  In case of Registration form, I will have an option to add a hidden field with its appropriate value.

- #### Label Options

  Here you will have labels related all options such as label width, position, alignment & font options. Even there is an option to hide label if you don't want to display labels of input fields.

- #### Submit Button Options

  Here you have button related all options to manage styling of submit button. You can set submit button width and height, button border radius, font settings, margin, button position etc.

  Different Button Styles are available like('Border', 'Flat', 'Classic', 'Reverse Border' )

- #### Custom Css

  Add Custom css according to your site designing, if required.

### Form Field Actions

There are three icons (`Edit Field Options`, `Sort Field Order` & `Delete Field`) at right side of each field which are displayed by hovering on specific field.

- #### Edit Field Options

  By clicking on this icon, Popup with field options will be open. Then you will find different types of field options like label, placeholder, options for check box, radio buttons & select box, whether to set required field or not, meta key, blank & invalid field message, prefix/suffix icons, related to field type.

  By editing particular "Text Field" - you will get option to set validation for that field from the drop down options like: `Only Numbers` `Only Alphabets` `Only Numbers and Only Alphabets` `Regular Expression.`

  This validation onption is not available for username, email and password fields.

  Additional Option for Username Field: You will find one option named as : " Hide username field and assign username with email". If you will check this, username field will be hide and Email value will be taken as user name.

  Additional Option for First Name Field: You will find one option named as : " Hide First Name Field". If you will check this, First Name field will be hide in front end sign up form.

  Additional Option for Last Name Field: You will find one option named as : " Hide Last Name Field". If you will check this, Last Name field will be hide in front end sign up form.

  If you hide `First Name` and `Last Name` fields at Sign up Form then these fields will also be hide at Edit Profile Form at front.

- #### Sort Field Order

  Using this icon, you can arrange(sort) field position. You need to Drag & Drop field for set field position.

- #### Delete Field

  By clicking on this icon, you will be asked for conformation about deletion of that specific item. If you want to delete field then click Delete button otherwise Cancel.

  You can only delete your custom fields. You can not delete default fields.

### Pre Populate Fields Support

Often a form will contain several generic fields that many respondents will answer in the same way. Rather than making users fill in these fields, which can be repetitive and time consuming, you can pre-populate them with the correct information so that, when users open the form, these fields will already be filled in. To do so, you will need the form’s URL and the variable names associated with the fields they want to fill in.

Field values can be passed into a form by appending them to the form’s URL using the following structure:

`baseURL?variable1=value`

Replace baseURL with the form’s URL, variable1 with the `name attribute` associated with the field to be filled in and value with the appropriate field value. To fill in multiple fields, insert the ampersand symbol (&) before any additional variables:

`baseURL?variable1=value&variable2=value`

##### For Example:

    http://your_site_url/arm_register/?user_login=abcd

### Font-Awesome Support

You can add font awesome icon as suffix/prefix for your input field.

# Set Access Rules

This Section provides Quick & easy to manage access rules. Easily toggle option available whether you want content protection turned on or off.

Note: By default, when ARMember plugin is just installed, at that time all existing posts, pages & other content will be open for all.

- Set access rules for full or a section of an article content. Create different membership plans and select which kind of content ( `Pages`, `Posts`, `Custom Posts`, `Categories`, `Taxonomy`, `Tags`, `Navigation Menus`, `Special Pages`, `BuddyPress`, `bbpress- forums`, `bbpress- replies`, `bbpress- topics` ) can be viewed by each membership plan. How access rules work for different types of content is described in brief further.

  BuddyPress option will only available if you activate BuddyPress from Add-ons.

- Access Rule `On` or `Off` protection possible with one
- To protect content for a specific membership plan, simply find the membership plan column in grid and check the checkbox next to the individual posts, pages, categories for which you want to give access.

- While editing/creating new posts/page, you can directly set rule for that individual post with help of Meta Box.

  Please make sure while adding protection, If you enable protection for specific item & didn't select any plan, than item will be hide from everywhere.

WARNING: Access Rules will not work as expected when testing against an Administrator who is logged in. While Administrators do gain full access to all content.

### Access Rules Listing Page

There are different filters available in grid to search & find your content easily. Those filters are as follow:

#### Type

This filter will help you to filter grid items by `Pages`, `Posts`, `Custom Posts`, `Categories`, `Tags`, `Taxonomy`, `Navigation Menus`, `Special Pages`, `BuddyPress`, `bbpress- forums`, `bbpress- replies`, `bbpress- topics`.

bbpress - Forums, topics & replies related option will only available if you have bbpress activated in your system.

#### Protection

You can filter listing by protection.

#### Plan

You can filter listing by plan. grid items will be filtered according protection applied for selected plan(s).

ARMember plugin gives you facility to toggle access rule in bulk for specific plan with three state of checkbox in grid. Those checkboxes are available under the plan name as you can see in below picture.

Three state of checkboxes are as follow:

- #### Checked State

  When checkbox is in checked state, All Access rules for that specific plan will be applied to listed items.

- #### Unchecked State

  When checkbox is in unchecked state, All Access rules for that specific plan will be removed from listed items.

- #### Indeterminate State

  When checkbox is in indeterminate state, All Access rules for that specific plan will be revert to default state in listed items.

### Access Rules Metabox

When you add new `page`, `post`, `custom post`, `category`, `custom taxonomy` or `navigation menu`, than Default Access Rules will be applied that are set in general options for that specific type.

So, those default rules will become editable from that particular page/post having meta box. So, that can be changed easily

### How Access Rules Work for different types of content?

Through access rules you can restrict users of specific plan(s) from accessing following types of content.
`Pages`,`Posts`,`Custom Posts`,`Categories`,`Tags`,`Taxonomy`,`Navigation Menus`,`Special Pages`,`BuddyPress`,`bbpress- forums`,`bbpress- replies`,`bbpress- topics`.

- ##### Page

  When page(s) is set in access rule, that page(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that page(s). Restricted page(s) willnot be shown in search listing and RSS feed. Please note that, sub-pages willnot be restricted if you restrict parent page.

- ##### Post

  When post(s) is set in access rule, that post(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that post(s). Also restricted post(s) willnot be shown in any of search or archive listings or RSS fedd.

- ##### Custom posts

  When custom-post(s) is set in access rule, that custom-post(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that custom-post(s). Also restricted custom-posts(s) willnot be shown in any of search or archive listings or RSS feed. for ex. any of Woocommerce Products is restricted then it willnot be shown in shop page product listing or anywhere in front-end.

- ##### Categories

  When category(s) is set in access rule, that category(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that category(s). Please note that, if you restrict parent category, all sub-categories and posts belongs to that category will also be restricted.

- ##### Taxonomy

  When taxonomy(s) is set in access rule, that taxonomy(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that taxonomy(s). Please note that, if you restrict any taxonomy, all posts belongs to that taxonomy will be restricted.

- ##### Tags

  When tag(s) is set in access rule, that tag(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that tag(s). Please note that, if you restrict any tag, all posts belongs to that tag will be restricted.

- ##### Special Pages

  When any of following pages is set in access rule, that page(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that page(s).
  `Any Archive page`, `Author Archives Page`, `Any Date or Time Archive`, `Archive: Year`, `Archive: Month`, `Archive: Day`, `Archive: Time`, `Blog Index`, `404 Not Found`, `Search Results`, `Any single page or post`, `Any attachment page`, `Feeds`

- ##### BuddyPress

  You can restrict users from accessing following BuddyPress content.
  `All BuddyPress Pages` - when access rule is set for this, all BuddyPress default pages will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that buddyPress page(s).
  `Group creation` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can create buddyPress group.
  `Friendship request` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can send friend request to other buddyPress members.
  `Private messaging` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can send private message to other buddyPress members.
  `All BuddyPress Pages` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can see buddyPress member directory and member profiles.

- ##### bbpress-Forums

  When any of bbPress forums is set in access rule, that forum(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that forum(s). Please note that, if you restrict parent forum, all sub-forums and topics belongs to that forum won't be restricted.

- ##### bbpress-topics

  When any of bbPress topics is set in access rule, that topic(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that topic(s).

- ##### bbpress-replies

  When any of bbPress replies is set in access rule, that reply(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that reply(s).

# Partial Content Locker

ARMember plugin provide facility to add partial content restriction using shortcode editor when you are add/edit `post`, `page`.

There are following options for adding content restriction.

- #### Restriction Type

  You can set restriction type like, whether you want to hide/show content to targeted users.

- #### Target Users

  You can apply restriction to Loggedin user, non-loggedin user, all created plan in your system.

  If no option is selected then restriction type will be apply for “Everyone”.

WARNING: Partial Content Locker will not work when current logged in user is Administrator. As Administrators do have full access to all content.

# Drip Content

Drip Content section will only available if you activate Drip Content from Add-ons.

"Dripping" content is the process of delaying the release of content in your membership site for your members. ARMember includes full drip content / delay content functionality which allows you to set delay for releasing your content to your members.

Set your drip schedule based on - immediately, after certain time of subscription or specific date onwards(date range).

Drip Rules will work only for posts/pages for which access rules are set from Access Rules section. Only restricted posts/pages can be dripped from Drip Rules.
Ex., If post A is not restricted from Access Rules and even though if you have set drip rule for it like ‘post A should be accessible only after specific date (15/01/2015) for plan A users’, then post A will remain open before 15/01/2015 for all users, as no access rules are not set for post A.
This is how Drip Rules & Access Rules will work together.

WARNING: Drip Rule will not work as expected when testing against an Administrator who is logged in. While Administrators do gain full access to all content.

Please make sure that drip rule on page/post for certain time will work only if Default Restriction for that page/post is ON as well as user's plan(s) are not allowed access for that page/post at Access Rules.

At Drip Content you have a grid to manage all drip content with following columns. Each column is sortable here.

- Status - Provides switch to `ENABLE` or `DISABLE` rule.
- Type - Post Type of Post / Page / Custom Post / Custom Content.
- Name - Title of Post / Page / Custom Post. (Shortcode in case of `Custom Content`)
- Drip Type - Drip rule type.
- Plans - Plan names(Rule will be applied to members of these plans).
- Members - Number of matching members who will get affected by rule.

You can search & find your content easily with grid filters like `Search box`, `Filter By Content Type` & `Filter By Plans`.

You can create drip rules by clicking on Add New Rule button. Also you can update existing rule by clicking on Edit Rule icon.

You can add three types of drip rules:

#### Immediately

This type of drip rule will be applied directly to selected plan members.

#### After certain time of subscription

This type of drip rule will be applied to selected plan members after number of days of their subscription start date.

#### Specific date onwards (range)

This type of drip rule will be applied to selected plan members in between selected date range. If you select `From Date` & didn't select `To Date`, then this rule will be applied starting from "from date" to "infinite time".

#### After certain time of post is published

This type of drip rule will be applied to selected plan members after x days of selected post/page is published.

#### After certain time of post is last modified

This type of drip rule will be applied to selected plan members after x days of selected post/page is modified.

Some common options are available here also like Bulk Actions, Search Box, Entries and Pagination

### Drip Content Shortcode

This setting becomes very useful when you don't wont to Drip whole post or page content. So, if you want to drip some specific block of content then this option will work for you.

While adding drip rules, you will find `Custom Content` option in `Content Type` drop down list. By selecting this option you will be able to add custom content and along with that one related shortcode be available there.

By using that shortcode in any page/post/custom post you can drip your specific content - the content only added within the shortcode. Other than that all things will work same as drip content for page/post/custom post.

You can also add drip shortcode using Shortcode Editor Popup when you are adding or editing any post / page / custom post. You will find Drip Content tab in shortcode editor popup as you can see in below picture.

# Payment History

You can track all member's payment history and view / manage transaction details, Also you can add Manual Payment into history.

### Payment History Page

As you can see in below picture, there are four action buttons available. `Approve`, `Reject`, `View Detail` & `Delete`.

`Approve` & `Reject` will only display in Bank Transfer payments.

### Add Manual Payment

You can add your manual payment by clicking on Add Manual Payment button. If you accept payment through external source and want to keep track of user's payment history, than this will be helpful.

Use this form to add missed payments of users for keeping track of their all payments. Also adding payment manually for membership plan of "Subscription" type will not affect its cycle. i.e., Adding payment manually for missed cycle of any plan will not renew plan cycle.

# myCRED

myCRED will only available if you activate myCRED from Add-ons.

### myCRED Point Hook Setting

Go to `Points` -> `Hooks`

Here Select ARMember Membership and add active Hooks

You Can Setup ARMember Membership myCRED Form

ARMember Membership myCRED provides give or take points from users for registering on the website.

This built-in hook allows you to occurance your users with points for registering on your website.

myCRED is an adaptive points management system with ARMember. Store mycred point, occurance, log template.

1. Mycred Points

   Mycred Points each user register and plan purchase on your websites gets their own point.

2. Occurance

   Occurance if select everytime in your plan user get point plan purchase and recurring time. if select just once in your plan user get point one time with plan purchase

3. Log template

   Log template you can set log for every plan for plan purchase user. you can see mycred log from `Points` -> `Log`

# Standard Email Responses

- You can easily customize already available email templates with HTML.
- Manage quickly and easily basic email templates like registration, update profile, change password, forgot password etc.
- Edit email template with HTML using editor. Also we provide `email variables` to set dynamic values.

- Option to enable/disable template

  If you will disable any of template, then default wordpress email process will take place.

### Manage Standard Email Template

ARMember Plugin supports following email templates:

#### Signup Completed Notification To Admin

This notification will be sent to all emails set in "Admin email" field in "General Settings", when someone complete his/her signup.

#### Signup Completed (With Payment) Notification To User

This notification will be sent to User when that user signup with paid membership plan.

#### Signup Completed (Without Payment) Notification To User

This notification will be sent to User when that user normally signup or signup with free membership plan.

#### Email Verification

This notification will be used to send email verification.

This template will only available when New user approval option is set to Email - Activation in general options.

#### Email Verified

This notification will be sent to user after user verify its account by going through instruction in email verification mail.

This template will only available when New user approval option is set to Email - Activation in general options.

#### Change Password

When user will change its password, this notification will be sent to that user.

#### Forgot Password

When user will request for password change, this notification will be sent to that user.

#### Profile Updated

When user will update its profile, this notification will be sent to that user.

#### Profile Updated Notification To Admin

When user will update its profile, this notification will be sent to all emails set in "Admin email" field in "General Settings".

#### Grace Period For Failed Payment

This notification will be sent to that user, when any user's recurring payment will get failed and grace period for failed payment is set for user's plan.

#### Grace Period For End Of Term

This notification will be sent to that user, when any user's recurring payment will get expired and grace period for End Of Term is set for user's plan.

#### Failed Payment Notification To Admin

This notification will be sent to all emails set in "Admin Email" field in "General Settings", when any user's recurring payment will get failed and grace period for Failed Payment is set for user's plan.

#### Manual User Activation

This notification will be sent to user if admin selects Notify user via email checkbox while changing user status from Pending to Active manually.

### Edit Standard Email Template

# Automated Email Messages

- You can set custom email notifications for `subscription events` like subscription created, subscription change, failed payment, trial period finished, subscription expired, before subscription expire etc..
- You can set email notification for specific plan(s).
- `HTML Email templates` with editor interface.
- You can add `email variables` to set dynamic values before an email will be sent.
- if you want to send notification before number of days, weeks, months, years `Before Membership Expired`then this option will help you to set such notification.

### Manage Automated Email Messages

### Add / Edit Automated Email Message

You can manage following events notifications. All the events are automatically handled by ARMember plugin.

#### On New Subscription

This event will trigger when member subscribe to new plan. You can set individually event for each plan or multiple plan.

#### On Change Subscription

This event will trigger when member change their plan. You can set individually event for each plan or multiple plan.

#### On Change Subscription by admin

Whenever admin will change user's subscription plan MANUALLY from admin side, this email will be sent.

#### On Failed Payment

This event will trigger when payment failed for membership. You can set individually event for each plan or multiple plan.

#### On Semi Automatic Subscription Failed Payment

This event will trigger when payment failed for Semi automatic Subscription Method. You can set individually event for each plan.

#### Semi Automatic Subscription Payment Reminder

You can send notification to user regarding to his/her plan subscription which is added manually, before specified days(while adding this email notification template) as reminder.

#### Trial Finished

This event will trigger when member's trial period get finished. You can set individually event for each plan or multiple plan.

#### Before Membership Expired

You can send notification before member's plan expire according your requirement. You have options to set when this notification will be sent. Like send notification before number of `days`, `weeks`, `months` or `years`.

#### On Membership Expired

This event is trigger after member's plan has been expired. You can set individually event for each plan or multiple plan.

#### On Renew Subscription

You can send notification to user for renew subscription regarding their plans.

#### On Recurring Subscription

This event will trigger when member subscription cycle payment successfully done. You can set individually event for each plan or multiple plan.

#### On Cancel Subscription

You can send notification to user when their subscription is canceled.

#### On New Content Available

You can send reminder to users when new content available to them with drip content.

# Manage Coupons

Manage Coupons section will only available if you activate Coupon from Add-ons.

- Coupon management gives you full functionality to manage discount coupons
- You are able to generate Random Coupon code while adding coupon OR you can add coupon code manually.
- Create plan specific coupons. Those coupons can only be used for specific plan payments process.
- Add Discount Rate in `Fixed Amount` or `Percentage(%)`
- Coupon validity time duration can be set with start date, expire date and unlimited.
- You can allow coupon code to be used for limited number of time from No. of time uses allowed. Please leave blank or 0(Zero) to for unlimited uses.
- ARMember tracks the total number of times that each Coupon Code is used.
- You have option whether to allow the coupon for the plan with Trial Period or not.
- Another option is For Recurring Plan Apply to Entire Duration, check here if you need coupon discount to be applied on each recurring payment of subscription plan.
- You can `ENABLE` or `DISABLE` coupon using single switch.

### Manage Coupons Page

### Add / Edit Coupon

After setting up coupons in Coupon Management, you need to enable coupon in Configure Plan + Signup Page page. Go to ARMember -> Configure Plan + Signup Page, edit setup in which you want to enable coupon. In Edit Plan + Signup Page, you will find `Enable coupon with payment?` option as shown below:

Select `Yes` to enable coupon code for users to use in front end Configure Plan + Sign up page.

If `Use coupon as invitation code?` is enabled, then coupon field will be compulsory field in Configure Plan + Sign up page. So, if you want to make a system to allow registration only with some specific invitation code then this option will be helpful. Once user get logged into system, this code will work normally as coupon code.

# Profiles & Directories

Profiles & Directories section will only available if you activate Social Feature from Add-ons.

ARMember gives you facility to create & manage `Profile Templates` & `Member Directory Templates` for front-end with customizable options.

More about profile templates

More about directory templates

More about membership card templates

# Profiles & Directories

## Member Directory Templates

##### Directory Shortcode:

    [arm_template type='directory' id='2']

### Members Directory Templates

You can add directory templates as many as you want, by clicking on Add Template box.

You can `Preview`, `Edit Template Options` & `Delete Template` from here. You will find those options by hovering on specific template.

- #### Add Template

  You can add directory template by clicking on Add Template box in Members Directory Templates section.

  All options to set template are dynamic. You can set by your own that whether you want to display Administrator Users, display Member badges, joining date, sorting option, search box etc.

  Here you can select template layout from different template layouts. Also you can set color scheme, font setting & other options like whether to display member badges or not, display specific plan(s) members, which filters to display, pagination style & custom css.

  You will get following search parameter options:

  - First Name (Selected by default)
  - Last Name (Selected by default)
  - Profile Display Name
  - Username
  - Email Address
  - Gender
  - Website (URL)
  - Country/Region
  - Biography
  - Textarea
  - Radio Button
  - Date
  - Roles

  These are the fields through which user can do search in directory listing.

- #### Edit Template

  You can edit template options anytime from profile template listing. Hover on specific template & click on edit icon to edit template options to change settings.

  You will get many options to edit : like: Display Administrator Users, Display Badges, member joining date, display plan specific members in list, Serach options and sorting option, pagination settings, select allowed parameter for search, select social field to be displayed, color scheme, font settings, custom css etc.

- #### Preview Template

  You can have preview of template to see how template will look in front-end. Also you can check responsive view of template. As you can see in below screenshot, responsive options are available in top belt.

# Profiles & Directories

## Membership card Templates

##### Membership card Shortcode:

    [arm_membership_card id="3"]

### Membership card Templates

ARMember allows to display different membership card template to different plan users. if you want to display membership detail like a card view, then it is possible with ARMember.

ARMember provides three different designs for creating membership card templates. You can create membership card templates as many as you want and can customize each template as per your requirement.

You can `Preview`, `Edit Template Options` & `Delete Template` anytime from here. You will find those options by hovering on specific template.

Step 1: Add Membership card Template

Step 2: Select Membership card Template

Click on any template to select or edit that template.

Step 3: Edit Membership card Template

You will get many options to edit : like: Company logo, Membership plan label, Display join date, display expiry date, Display user ID, Select Membership Plans, color scheme, font settings, custom css etc.

Step 4: Preview Membership card Template

You can have preview of template to see how template will look in front-end. Also you can check responsive view of template. As you can see in below screenshot, responsive options are available in top belt.

# Profiles & Directories

## Member Profile Templates

When add-on is activated, default one profile template is created. Also you can add more profile templates.

ARMember allows to display different profile template to different plan users. For ex. if you want to display Template 1 to plan A users and Template 2 to plan B users, then it is possible with ARMember.

ARMember provides four different designs for creating profile templates. You can create as many profile templates as you need and can customize each template as per your requirement.

Step 1: Add Template

Step 2: Select Profile Template

When click on 'Add Template', popup will open from where you can select profile template design.

Click OK button to add template. If you don't want to add template click 'Cancel' button.

Step 3: Profile Template Options

When click on Okbutton, Profile Editor with all customization option will open.

When any option is changed, its effect can be seen direct in profile editor.

1. Add New Block : From here you can add any HTML before and after user profile fields section.

2. Profile Fields : From here you can select which user fields you want to display in user profile fields section. You can add translate field labels from here by clicking on edit icon. Also from here you can change order in which fields are displayed in this section.

3. Social Profile Fields : From here you can select which Social Profile field icons like facebook, twitter, linkdin, etc you want to display in Profile header.

4. Membership Plans : From here you can select one/more membership plans. So this template will be to display profile of users having one/more from selected membership plans here.

5. Other Settings :

   - Display Administrator Users? : If this switch is enabled,then only profile of aministrator users will be displayed.

   - Hide Empty Profile Fields? : If this switch is enabled,then empty profile fields will remain hide in profile fields section.

   - Display Member Badges? : If this switch is enabled,then badge icons will be displayed in profile header if user has any badge.

   - Display Joining Date? : If this switch is enabled,then only member joining date will be displayed in profile header.

   - Default Cover Image? : If this switch is enabled,then only default cover image will be displayed if user do not have set any cover image, otherwise no image will be displayed.

6. Color Scheme : Multiple Color Scheme support, also you can customize color options by clicking on paint brush icon as you can see in below screenshot.

7. Font Settings : From here you can set font styling like font-family, font size, font weight, font style, font decoration & etc. We also support Google Fonts.

8. Profile Template : From here you can change profile template anytime.

9. Add Custom CSS : When you cilck on Add Custom CSS icon, popup will open where you can add custom CSS to add your own style in profile template.

10. Profile Views : From here you can see how profile template will look in desktop/tablet/mobile view.

When you enable Social Feature first time, Default Profile page will be inserted with profile template shortcode automatically. This page will be used as user's profile page. You can change profile page at anytime from Page Setup.
Also only one shortcode is used for all profile template. Different profile templates will be displayed according to user's membership plan.

##### Profile Shortcode:

    [arm_template type='profile' id='1']

# Social Profile Fields

This option will be enabled if “Social Feature inbuilt module of ARMember is activated.”

This Feature is not related to Social Signin/Connect. This will provide fields for signup forms and Edit Profile forms.

When you enable Social Feature add-on, you will find one option in Registration/Signup from Editor shown in following image.

You will find following social profile fields options which can be directly added to your registration/signup form.

The fields you have added to signup form will be available in Edit Profile Fields. Even more these social profile fields are provided with editor shortcode support. You can select and add those fields from Edit Profile Shortcode as well.

Note: If your Signup Form is not having Social Profile fields but you have added it from Edit Profile Shortcode then it will display those social profile fields in Edit Profile form.

# Add-ons

Membership sites can get pretty complicated, and not everyone needs the same things. ARMember offers features as add-ons so you can add only those functionalities according to requirement of site, making it easier to manage.

You can `Activate` or `Deactivate` add-ons from here. When you Activate any add-on, that add-on will be activated in plugin & its features will be displayed. Also you can directly navigate to configuration page by clicking on Configure button.

ARMember offers following features as free add-ons:

- #### Social Feature

  This add-on will include following features:

  - Public Profile & Profile & Directory Templates
  - Member Badges & Achievements
  - Social Profile Fields

- #### Opt-ins

  This add-on will enable Email Marketing Tools support like `AWeber`, `MailChimp` & `Constant Contact`.

  You can easily add subscribers to your Email Marketer account using our registration form.

- #### Drip Content

  This feature will enable "Dripping" content in your site. Using this feature, you can add drip rule on posts, pages, or custom posts according your wish.

- #### Social Connect / Login

  This feature allows your website readers and customers to get logged in using their existing social account IDs. So, this eliminates the need to fill forms and to remember new username and password.

  ARMember supports following social networks:

  - Facebook
  - Twitter
  - LinkedIn
  - Google+
  - VKontakte

- #### Coupon

  The Coupons Add-On allows you to implement coupon functionality with ease on payment for membership.

- #### BuddyPress Integration

  BuddyPress Add-on allows you to map buddyPress profile fields with our registration form. Also you can set access rules for buddyPress pages.

  BuddyPress plugin must be installed & activated to use this feature.

- #### Woocommerce Integration

  If addon is active, then a new tab "ARMember plan" will be added in product data metabox in add/edit product page from where you can map armember plans with respective product.

  This addon should be activated only when woocommerce is installed and activated.

- #### Multiple Membership

  If addon is active, ARMember users can have more than one membership simultaneously. If user have already one plan and purchade a new plan, them Add Plan action will occure instead Change Plan action. So new plan will be added in user's plan list.

  At a time user can purchase only one membership. Also if one or more members have multiple membership plan, then add on can't be deactivated. If you want to deactivate this addon, then all users must have at max only one membership plan.

# Badges & Achievements

Badges & Achievements section will only available if you activate Social Feature from Add-ons.

Create badges and award(achievements) to your users manually, or based on what they accomplish. These badges will display besides user's name on user profiles, member list etc.

You can also create custom badges and assign it to users.

There are three tabs in Badges And Achievement sections:

### Manage Badges

Here you can manage default badges or add your custom badges.

### Manage Achievements

You can assign badges to user based on what they accomplish.

There are several options available to add achievement as you can see in below picture. You can create achievement on following events:

- #### Default Badge for All

  By Default all user will get the assigned badge.

- #### Give this badge to role

  Assign badge to users having specific user role.(If you have bbpress plugin installed in your site then those roles are also supported.)

- #### Give this badge to plans

  Assign badge to users having specific plan.

- #### Require Achievement

  Assign badge based on required achievement.

- #### No of posts

  This badge will automatically assign to user, when user create specific number of posts. Custom Posts are also supported.

- #### No of comments

  This badge will automatically assign to user, when user has commented specific number of times.

- #### No of years

  This badge will automatically assign to user, when user completes number of years in your site.

### Manage User Achievements

Here you can assign or remove user's badges & achievements.

# Dashboard Widgets

Dashboard widgets to easily track your site `statistics`.

There are three widgets available in dashboard:

### ARMember Statistics

Here you can track site statistics like `Total Members`, `Active Members`, `Inactive Members` & `Membership Plans`.

Also you can see graphs for `Recent Members` & `Members By Plans`.

### Recent Members

Here you have list of 5 recently added members with their membership plan. You can view all members by clicking on View All Members link.

### Recent Payments

This widget will keep track of recently made payments along with information of membership plan, amount & payment status. You can view all payment history by clicking on View All Transactions link.

# Editor Shortcode Support

ARMember leads to - No more shortcode copy/paste.

Add plugin shortcodes in Post, Pages directly with visual editor. In `Popup`, you will find list of all plugin shortcodes with parameters, values and descriptions for specific shortcode.

### Editor Shortcode Button

As you can see in below screenshot, There are two buttons `Membership Shortcodes` & `Restrict Content`.

After clicking on Membership Shortcodes, a popup will open as shown below.

### Membership Shortcodes

Here you can find available number of tabs.

- #### Forms

  By using this option, you can add form shortcodes like `Registration`, `Login`, `Forgot Password`, `Change Password`, `Edit Profile`.

  Also you can set shortcode arguments according to form. For Example(Include form with Modal or direct in page, form position (With Respect to its container), Logged In Message)

  `Logged In Message:` This message will be shown to user he/she is already logged in and try to access registration, login, forgot password form.

- #### Membership Setup Wizard

  You can add membership setup wizard shortcode from here. Also you have option to set whether you want to display setup title or not.

- #### Action Buttons

  You can add action buttons like `Social Login Buttons`, `Logout` from here.

  There are also other options available according to action button type. i.e. you can set link type, link text, link styling etc for Logout shortcode.

- #### Others

  You can add `My Profile`, `Payment Transactions` `Current Membership` & `Conditional Redirection` `Conditional Redirection(User Role)` `Close Account` `Current User Information` `Check If User In Trial Period` `User Badge` `User Plan Information` shortcodes with different arguments from here.

  Conditional Redirection: This will provide conditional redirection based on plan along with plan comparision.

  Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

  Current User Information: By using this option you can display username as 'username', 'display name', 'first name and last name'. For more information check in shortcode section.

  Current Membership: This will show user's current membership, and a link to change subscription. Also you can display Renew Subscription Button along with its formatting and label.

  Check If User In Trial Period: This will Show / Hide specific content to users who are currently in trial period.

  User Badge: This will Show current user's badge information.

  User Plan Information: This will display current user's specific plan information like start date, end date, next renewal date, trial start, trial end, grace end, total complete recurrence, payment gateway, payment mode, patyment cycle.

- #### If Conditions

  You can add advanced level conditional shortcode from here. To get detail about this conditional shortcode, please click here.

- #### Drip Content

  You can drip your custom (partial) content using drip shortcode from here. you will find a list of custom content drip rules in this section. To get detail about this drip shortcode, please click here.

  Drip Content section will only available if you activate Drip Content from Add-ons.

### Restrict Content

You can add Partial Content Locker using this shortcode. To get detail about this section, please click here

# Navigation Menu Support

ARMember provides facility to add your forms in many ways like,

- #### In Page (Internal)

  Directly Add Shortcode to page.

- #### External popup window

  Directly Add Shortcode in page as Link/Button to open form in a popup window.

- #### Navigation Menu Link

  Directly add Link to your navigation menu from Them Appearance > Menus

  Here you will find 2 navigation meta boxes, one for Member Forms and second is for the Configured plans and setup forms.

  This link will open form in Modal Window Directly.

  - #### Armember Forms

    It will give you the list of all signup forms and login, forgot password, change password forms created in your system

  - #### Armember Configure Plan & Setup

    It will give you the list of all setup forms created in your system

  - #### Armember Logout

    It will give you the Logout Link - That can be directly added to menu from here.

- #### Navigation Menu Link show/hide options

  Through this option you can set to whom you want to show the particular link (For example: Display to All, Only Logged in User, Only non logged in User). You can check it in following image:

  This setting will work with single links in menu plus parent child menu links. If the menu is having all links without submenus then each link display option will work individually. And if the menu has submenu links then it will follow the case like (sub menu will be hide when parent is hide according to display settings, and if parent is shown in menu then child menu link will be shown or hide as per its individual option. )

# [arm_form]

This shortcode displays ARMember form.

Possible Arguments: |
--- | ---
`id` | Form ID.
`assign_default_plan` | Plan ID ( Only Free Plans ). Must be used with sign up form shortcode only. This plan will be assigned by default when user will sign up using this sign up form.
`form_position` | set possible value from left, center or right Default: center
`popup` | Display form in popup box. Default: false
`link_type` | Link type. Possible options: link, button Default: link ( Work when popup option is true ).
`link_title` | Link / Button text ( Work when popup option is true ).
`overlay` | Popup box overlay ( Work when popup option is true ).
`modal_bgcolor` | Popup box background color( Work when popup option is true ).
`popup_height` | Popup box height ( Work when popup option is true ).
`popup_width` | Popup box width ( Work when popup option is true ).
`link_css` | Popup box Link / Button style ( Work when popup option is true ).
`link_hover_css` | Popup box Link / Button hover style ( Work when popup option is true ).
`logged_in_message` | Custom Message that will be shown to user when he/she is already logged in and try to access registration, login, forgot password form.(Note: If you will keep it blank, then nothing will be displayed to logged in user when they come to the page having registration/login/forgot password form)

# [arm_edit_profile]

This shortcode displays edit profile form.

Possible Arguments: |
--- | ---
`form_id` | Set ID of the Registration form/ SignUp form
`form_position` | Set possible value from left, center or right Default: center
`title` | Add form title here to be displayed at front for edit profile form.
`message` | Display message when member has been updated successfully.
`social_fields` | Social networks name - which are added to your selected SignUp form.
`view_profile` | Set value as true or false whether you want to display user profile link directly at edit profile.
`view_profile_link` | Here is the label to be displayed as user profile link in edit profile form.
`avatar_field` | Set value as yes or no whether you want to display Avatar field in your edit profile form. Default: yes
`profile_cover_field` | Set value as yes or no whether you want to display Profile Cover field in edit profile form. Default: yes
`profile_cover_title` | Here you can add your custom title for Profile Cover field label in edit profile form.
`profile_cover_placeholder` | Add your custom text here as placeholder for Profile Cover field in edit profile form.

# [arm_social_login]

This shortcode displays all active social network connect buttons id network argument is blank Or not passed.

Possible Arguments: |
--- | ---
`network` | Social network name(ex: facebook/twitter/linkedin/googleplush/vk)
`icon` | Image URL for the social network Icon

# [arm_setup]

Membership Setup Form Shortcode

Possible Arguments: |
--- | ---
`id` | Membership Setup Wizard ID.
`hide_title` | Whether to hide setup title or not. Default: false
`popup` | Display form in popup box. Default: false
`link_type` | Link type. Possible options: link, button Default: link ( Work when popup option is true ).
`link_title` | Link / Button text ( Work when popup option is true ).
`overlay` | Popup box overlay ( Work when popup option is true ).
`modal_bgcolor` | Popup box background color( Work when popup option is true ).
`popup_height` | Popup box height ( Work when popup option is true ).
`popup_width` | Popup box width ( Work when popup option is true ).
`link_css` | Popup box Link / Button style ( Work when popup option is true ).
`link_hover_css` | Popup box Link / Button hover style ( Work when popup option is true ).
`subscription_plan` | (paln_id) In any case if you want to display selected plan different than setup configuration, then you can add subscription_plan parameter in this shortcode.
`hide_plans` | 0 or 1 (In any case if you want to hide plan selection area from configuration page, then you can add hide_plans parameter in this shortcode.)
`payment_duration` | payment cycle's order ID. for ex. if 3 is passed, then 3rd payment cycle of plan will remain selected by default. This argument will work only subscription_plan argument is passed.

# [arm_logout]

Logout Shortcode.

Possible Arguments: |
--- | ---
`type` | Logout display type. Possible values: link, button. Default: link
`label` | Link / Button Text. Default: Logout
`user_info` | Show current user name. Possible values: true, false. Default: true
`redirect_to` | Redirect URL after successful logout. Default: Home URL
`link_css` | Link / Button style.
`link_hover_css` | Link / Button hover style.

# [arm_close_account]

Close Account Shortcode.

Possible Arguments: |
--- | ---
`set_name` | Name of Created Login Form Set Name (Close Form Layout will be same as the passed Login form set name)

# [arm_member_transaction]

Display Member's Transactions

Possible Arguments: |
--- | ---
`title` | Section Heading.
`per_page` | Number of Records per Page
`message_no_record` | Display Message if no records found.
`label` | Payment History - Grid Column Label
`Value` | Payment History - Grid Column Label Value

# [arm_account_detail]

Display Member's Account Detail

Possible Arguments: |
--- | ---
`label` | Profile field's meta keys seperated by comma
`value` | Profile field's lebels seperated by comma. You can add translated labels here.
`social_fields` | Social Fields

# [arm_restrict_content]

Display Content to Specific Plan Members.

Possible Arguments: |
--- | ---
`type` | Show or hide content. Default: hide
`plan` | Plan Id or comma separated plan ids and targeted users ( Registered / Unregistered ). Default: all

# [arm_membership]

Display Current user Membership Details

Possible Arguments: |
--- | ---
`title` | Title of grid Default: Current Membership
`setup_id` | Membership Setup Wizard ID of which you want to inherit settings( except plans and payment gateways selected) in setup that will load when user clicks on Renew/Make Payment button.
`membership_label` | Current Membership - Grid Column Label
`membership_value` | Current Membership - Grid Column Label Value
`display_renew_button` | true/false Default: false
`renew_text` | Renew Button Text Default: Renew
`make_payment_text` | Make Payment Button Text Default: Make Payment
`renew_css` | Css for Renew Button
`renew_hover_css` | Css for Renew Button Hover
`display_cancel_button` | true/false Default: false
`cancel_text` | Cancel Button Text Default: Cancel
`cancel_css` | Css for Canel Button Hover
`cancel_hover_css` | Css for Cancel Button Hover
`cancel_message` | Message that will be displayed when user's membership is cancelled successfully.
`trial_active` | Display Trail Active Label
`message_no_record` | Display Message if no records found.

# [arm_conditional_redirection]

Redirection user based on plans.

Possible Arguments: |
--- | ---
`condition` | having/nothaving
`plans` | Id of plan
`redirect_to` | Redirection URL

# [arm_conditional_redirection_role]

Redirection user based on its role.

Possible Arguments: |
--- | ---
`condition` | having/nothaving
`arm_conditional_redirection_by_user_role_roles` | Role of user
`redirect_to` | Redirection URL

# Advanced Shortcode

### [armif] .. [/armif] and [armNotif] .. [/armNotif]

Show / Hide specific content to specific member by using WordPress built-in `conditional tags`. Sometimes it’s necessary to allow everyone to access to your content ( e.g. everyone can land on a certain Post or Page and view it ), but maybe you need to hide ( protect ) a certain part of that content. Or, maybe you need to display something different to non-members.

NESTED Conditions require a preceding underscore ( i.e., `_armif`, `__armif` ). You can go up to three levels deep ( e.g., `___armif` ).

##### example

    [armif is_blog_index()] Content Goes Here [/armif]

    [armNotif is_blog_index()] Content Goes Here [/armNotif]

    [armif is_page(24)]
        //NESTED Conditional Expressions
        [_armif current_user_can(armember_access_plan_2)]
            Content appears here.
        [/_armif]
    [/armif]

    [armif is_user_logged_in()]
        //Implementing AND/OR Conditional Expressions
        [_armif is_page(5) OR is_page(6)]
            Content appears here.
        [/_armif]
    [/armif]

### Supported Conditional Tags:

#### is_blog_index

This will check whether the current page is blog posts index page or not and according to that content will be shown.

#### is_home_page

This will be used to show content only if the current page/post is Home page.

#### is_single_post

This conditional tag can be used to display content only for the single posts (if the current post is post view/detail page). You can pass post parameter to indicate specific post type.

#### is_sticky_post

Checks if the current post is a Sticky Post meaning the "Stick this post to the front page" check box has been checked for the post, content between shortcode will be executed.

#### is_post_type_archive

This conditional tag will check if the query is for an archive page of a given post type(s).

#### is_page

This conditional tag can be used to show the content for any single page. This tag must be used BEFORE The Loop and as it does not work inside The Loop.

#### is_category

This tag will check if a Category archive page is being displayed. According to that you can add content to be displayed in page.

#### is_tag

This will check if a Tag archive page is being displayed.According to that you can add content to be displayed in page.

#### has_tag

This conditional tag will check if the current post has any of the given tags passed in parameter. The given tags are checked against the post's tags term_ids, names and slugs. Tags given as integers will only be checked against the post's tags term_ids.

#### is_taxonomy

Checks if a custom taxonomy archive page is being displayed, then content between shortcode will be executed. If the $taxonomy parameter is specified, this function will additionally check if the query is for that specific taxonomy. Note that is_tax() returns false on category archives and tag archives.

#### author_archive

Checks if an Author archive page is being displayed, then content between shortcode will be executed.

#### is_archive

This tag will check if any type of Archive page is being displayed. An Archive is a Category, Tag, Author or a Date based pages.

#### is_search

This conditional tag can be used to check if search result page archive is being displayed. If you want to show/hide content in accordance with search page than this tag will be useful.

#### is_rtl

Checks if current locale is RTL (Right To Left script), then content between shortcode will be executed.

#### is_multisite

This tag will be used to determine whether Multisite support is enabled or not. So you can show/hide content in accordance with multisite.

#### is_main_site

Check if site is main site of the network from the given site id passed in parameter. Yo can show/hide content for that specific site.

#### has_post_thumbnail

This tag will check if a post has a Featured Image (formerly known as Post Thumbnail) attached or not. So, you can show content conditionally when there is a featured image set for the post.

#### if_user_can

Checks if a user has capability or role, then content between shortcode will be executed. Similar to current_user_can(), but this function takes a user ID or object as its first parameter.

#### current_user_can

This conditional tag will check whether current user has particular capability/role or not. Based on that you can show/hide content to user.

#### current_user_can_for_blog

This will check whether current user has a capability or role for a given blog or not. You can pass blog ID as parameter to check if the current user has a capability for another blog on the network.

#### check_user_meta

This will check whether current user has correct meta_value based on operator passed as parameter. This will be useful when you want to display data only for those users, who are having some specific value in their user meta.
Default operator is EQUALSTO_N.
S = String Comparision
N = Numeric Comparision

check_user_meta($meta_key,$value,"EQUALSTO_S",$user_id)

#### is_user_id

This will check whether current user's ID matches given "user_id" patameter, then content between shortcode will be displayed. "user_id" parameter is required.

#### is_username

This will check whether current user's name matches given "user_name" parameter, then content between shortcode will be displayed. "user_name" parameter is required.

# Membership Diagram

### ARMember Sign Up Process

ARMember provides two types of signup:

- Signup with membership plan
- Signup without membership plan

### ARMember Renew-Cancel Membership

ARMember provides shortcode for displaying user's current membership list. Here it provides facility to renew and cancel specific membership.

Free Plan & Paid(Infinite) type of plans will never expire, so Renew button will not be displayed for that plans. For Subscription type of plans, Renew button will display after all recurring payments will be completed. Till then Make Payment button will come to pay for recurrence.

### ARMember Change Membership

# [arm_template]

Display Members Directory or Member Profile Detail.

Possible Arguments: |
--- | ---
`id` | Template ID.
`type` | Template Type. options: directory, profile

# [arm_userid]

Display Currently logged in user's userid. This is accessible in any post,page, in widget area.

# [arm_username]

Display Currently logged in user's username. This is accessible in any post,page, in widget area.

# [arm_displayname]

Display Currently logged in user's displayname. This is accessible in any post,page, in widget area.

# [arm_firstname_lastname]

Display Currently logged in user's first name and last name combination. This is accessible in any post,page, in widget area.

# [arm_avatar]

Display Currently logged in user's avatar. This is accessible in any post,page, in widget area.

# [arm_usermeta]

Display value of specific custom field of specific user/currently logged in user. If id is not specified, then currently logged in user's field info will be displayed. This is accessible in any post,page, in widget area.

Possible Arguments: |
--- | ---
`meta` | meta_key.
`id` | user ID

# [arm_user_plan]

Display currently logged in user's membership plans. If user will have multiple memkbership plans, then all plan names will be displayed as comma separated.

# [arm_user_badge]

Display badge information of user specified by user_id. This is accessible in any post,page, in widget area.

Possible Arguments: |
--- | ---
`user_id` | User ID

# [arm_user_planinfo]

Display currently logged in user's specific plan information like start date OR end date etc of specified plan.

Possible Arguments: |
--- | ---
`plan_id` | ID of plan
`plan_info` | possible values are arm_trial_start, arm_trial_end, arm_start_plan, arm_expire_plan, arm_grace_period_end, arm_user_gateway, arm_completed_recurring, arm_next_due_payment, arm_payment_mode, arm_payment_cycle

# [arm_if_user_in_trial] & [arm_not_if_user_in_trial]

Show / Hide specific content to users who are currently in trial period.

##### example

    [arm_if_user_in_trial]
        Only members who are in trial period can view this content.
    [/arm_if_user_in_trial]

    [arm_not_if_user_in_trial]
        All members can view this content except members who are not in trial period.
        Non Logged In User cannot see this content.
    [/arm_not_if_user_in_trial]

# Cornerstone Add-on

IMPORTANT NOTE: YOU NEED TO INSTALL AND ACTIVATE CORNERSTONE ADDON FROM `ARMember > Add-ons` TAB. THEN ONLY MEMBERSHIP SHORTCODES WILL WORK WITH CORNERSTONE. SUPPORTED FOR ARMEMBER VERSION 1.6 AND GRATER.

ARMember provides fully support with Cornerstone. When you edit your page or post with cornerstone go to "Elements". You will find `AR-MEMBER` is added which you can see in below image.

Now drag the ARMember element to the right side available screen. Then you will find different options for adding the shortcode.

#### Supported Shortcodes:

- #### Form

  Add Forms (Registration, Login, Forgot Password, Edit PRofile, Change Password) in page created with ARMember plugin

- #### ARMember Membership Setup Wizard

  Add membership setup for front-end user with created setup from ARMember plugin.

- #### Action Butttons

  Logout : You can add Logout link by ARMember plugin.

  Cancel Subscription : Add this element to provide facility of cancel Subscription link in front-end.

- #### Others

  - #### My Profile

    Add this element to show user details when it is logged in to system.

  - #### Payment Transaction

    Show transaction history to particular user.

  - #### Current Membership

    Add this element to display current membership details of particular user.

  - #### Conditional Redirect

    This will provide conditional redirection based on plan along with plan comparision.

  - #### Conditional Redirect(User Role)

    Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

  - #### Close Account

    Add element to display membership close account page.

  - #### Current User Information

    Add element to display currently loggedin user's information.

  - #### Check If User In Trial Period

    This will Show / Hide specific content to users who are currently in trial period.

#### Following is image showing a screen: ARMember as Cornerstone element and related options.

# AffiliateWp Integration

Important Note:This plugin will only work if ARMember plugin version is higher than 1.6 and AffiliateWP Version: 1.9.5.1 or higher. Go to ARMember -> Add-ons -> `install` AffiliateWP Integration and `Activate` Add-on.

If your system has activated "AffiliateWp" plugin, then this add-on will allow you to integrate it with ARMember.

By using this combo of "ARMember + AffiliateWp" user can get "commission" on sharing Referral of the plan - the plan for which 'Enable AffiliateWP Referral' option is enabled.

For this : you have to set Default Referral from `affiliate > setting > misc > Default Referral URL`

In `ARMember > Manage Plans > Add / Edit Membership plan` you will get an option : "Enable AffiliateWP Referral".

## Steps to Setup ARMember-AffiliateWP For Your Website

1. After ARMember plugin get activated and AffiliateWP is installed and activated then AffiliateWP section will be display in `ARMember` -> `Manage Plans` -> `Add / Edit Membership plan`.

   Please see below screen.

2. You will be able to enable and disable referrals plan wise.

3. If you will enable referrals then new referrals will be created.

4. Please set a configur signup plan page url in `affiliate > setting > misc > Default Referral URL`. So when user check their affiliate area after getting logged in to site - user will be able to share the signup page url with their affiliate id url.

   (If non registered user become member to site through the url shared by other member, then that particular user will get commission of related plan in which this option of 'Enable AffiliateWP Referral' has been enabled.)

# Direct Login With ARMember

Important Note:This Addon will only work if ARMember plugin is installed with version 1.7 or higher . Go to ARMember -> Add-ons -> `install` Direct Login and `Activate` Add-on.

This addon will allow you to create temporary login link so when anybody runs link url, he will be logged-in without need of username and password.

It is very easy and simple interface to create links. You can create login link for existing users as well as for new users too. Also you can set duration until link will be valid.

## Steps to Setup ARMember-Direct Login For Your Website

1. When plugin activated then Direct Login menu will be displayed under `ARMember`. Please see below screen.

2. When you click on `Direct Login`, direct login users list will be displayed. Please see below screen.

## Actions

For each row of grid there are some action options provided which are as following

1. #### Copy link to clipboard

   Each direct login have unique link and you can copy link by just one click on `Copy link to clipboard` icon at right side.

2. #### Modify Duration

   When you click on Modify Duration icon, popup opens from where you can edit link expiration time.

   Please see below screen.

3. #### Delete

   By clicking on Delete icon, link can be deleted.

4. #### Active & Inactive

   You can ACTIVE or INACTIVE direct login using single switch.

# Active Campaign Integration

Important Note:This Addon will only work if ARMember plugin is installed with version 1.7 or higher . Go to ARMember -> Add-ons -> `install` Active Campaign and `Activate` Add-on.

Active Campaign is an open-source marketing automation software and ARMember – Active Campaign Addon is a bridge between Active Campaign’s back-end interface and ARMember plugin.

This Addon will allow you to add all users of your membership website into Active Campaign Contacts, who will register using ARMember Registration Form.

This Addon does not just add users to Active Campaign Contacts but also facilitates you to add users in specific Active Campaign List. Also You will be allowed to add users, who will register from different Sign Up Forms used for different purposes, into in different Active Campaign Lists.

## Steps to Setup ARMember-Active Campaign For Your Website

1. When Addon is activated, Active Campaign section will be displayed in `ARMember` -> `General Settings` -> `Opt-ins`. Please note that opt-ins tab will be displayed only if Opt-ins module is activated under Addons.

   Please see below screen.

2. If you do not have Active Campaign account then create it.

   For Active Campaign account click here.

3. To get API URL and API Key please refer Active Campaign User Guide

4. After getting API URL and API Key from Active Campaign, fill it under Active Campaign section in Opt-ins.

   Click on Varify link, If varification successes, you can see list of all Active Campaign Lists in List Name select box. Select any of lists that you want to set as default. After that do not forget to click on Save button.

5. After setup completes, go to Manage Forms page, then click on edit link of your Registration Form. You can see Active Campaign checkbox under Opt-ins in Right panel.

   Please see below screen.

6. Select from the list in which you want to add your website users who will register using this registration form.

   Click Save Button.

7. If your website have more than one Registration Forms for different purposes, you can set different lists for different forms and can manage your users in Active Campaign easily.

   Click Save Button. Now All is Set.

   After this setup, you will find all users in your Active Campaign account under Contacts, who will register to your website using this registration form.

# GDPR

Please note that following information should not be considered as legal advice. So, please confirm with legal specialist.

Let's see how to make a GDPR compliant privacy policy page in your WordPress site.

## What is GDPR?

GDPR ( General Data Protection Regulation ) is a European Union law applicable from May 25, 2018. According to this new regulation visitors in your site should be known that how their personal data is collected, used and shared in your site.

## Make Forms in ARMember and GDPR compliant privacy policy page

To make your forms like register form in ARMember GDPR compliant simply add a required checkbox field like 'Privacy Policy'.

WordPress 4.9.6 released with a privacy policy generator which helps you to create a privacy policy page easily in your site. If are using older version of WordPress you may create a privacy policy page using other WordPress plugins.

Create a privacy policy page from `Settings -> Privacy`. You will see a link of Check out our guide where you can get suggestions by your plugins and themes for what content to include along with your policies.

ARMember also adds policy guide line with information of what personal data ARMember collect, which can be helpful to add guide lines in your policy content.

## Allow users to delete their account from your site

ARMember provides shortcode like `{arm_close_account set_id="SET_ID"}` which you can use in your page to let your users allow to delete / close their account and all of their account data.

Once user will close his account, all the subscription plans associated with user will be removed first and then user will be logged out. If user has any automatic subscription, then it will also be cancelled before his account is closed.

Users who have closed their account will be removed completely and all of their account data will be erased from your site.

# Visual Composer Support

ARMember is very flexible which supports Visual Composer to add plugin shortcodes Page / Post.

If you have Visual Composer installed on your website, you can easily add armember plugin shortcodes by just clicking on specific module.

Just go to visual composer "Backend Editor > Add Element".

As you can see in below picture, you have ARMember tab, that tab will list all shortcodes. By clicking on specific shortcode, popup will be open with shortcode argument options.

#### Supported Shortcodes:

- #### ARMember Form

  Add Forms in page created with ARMember plugin

- #### ARMember Edit Profile

  You can create edit profile page by selcecting this element.

- #### ARMember Logout

  Add Logout link by ARMember plugin.

- #### ARMember Membership Setup Wizard

  Add membership setup for front-end user with created setup from ARMember plugin.

- #### ARMember Payment Transaction

  Show transaction history to particular user.

- #### ARMember My Profile

  Add this element to show user details when it is logged in to system.

- #### ARMember Close Account

  Add element to display membership close account page.

- #### ARMember Cancel Subscription

  Add this element to provide facility of cancel Subscription link in front-end.

- #### ARMember Current Membership

  Add this element to display current membership details of particular user.

- #### ARMember Conditional Redirect

  This will provide conditional redirection based on plan along with plan comparision.

- #### ARMember Conditional Redirect(User Role)

  Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

- #### ARMember UserName

  Add to display logged in user's username.

- #### ARMember User DisplayName

  Add to display loggedin user's displayname.

- #### ARMember User FirstName LastName

  Add to display loggedin user's Firstname and Lastname.

Following Image showing a screen : If ARMember Form element is selected, then related options like select form, popup window options of link or button, its text etc..

# WooCommerce Support

## AccessRule Support

ARMember provides facility to manage access permission for WooCommerce Product & Product Categories. Also you can set default rules for new product or product categories created.

## WooCommerce Integration - AddOn

If this addon is active, then a new tab "ARMember plan" will be added in product data metabox in add/edit product page from where you can map armember plans with respective product.

Some Important Notes to be considered while using this add-on:

- Mark every product as virtual product.
- If you map any plan which is having "subscription/recurring payment" type, then it will be considered as "semi automatic subscription" always.
- If you add any mapped product to cart, then all other products will be removed from cart. Also only one mapped product can be added in cart. Select Quantity box won't shown for mapped product in product detail page.
- If payment done properly and product will be marked as virtual then order will be autocomplete.
- when order is placed and its status is changed to complete then only plan will be assigned to respective buyer.
- If order gets completed then and then Plan will be assigned to user.
- The plan will be assigned to registered user only. And if the user is already loggedin and purchasing new plan, then after successful order completion, new plan will be assigned to user.

# BuddyPress Support

BuddyPress section will only available if you activate BuddyPress from Add-ons.

ARMember provides support to installed BuddyPress Plugin in your site. You can add access rules related to buddyPress pages and also ARMember provides support to buddyPress extra profile fields mapping with ARMember Signup and Edit Profile form.

You can add access rules for following BuddyPress sections:

- Group creation: `Only Site members can create new groups.`
- Friendship request: `Only site members are allowed to send friendship requests.`
- Private messaging: `Only site members are allowed to send private messages.`
- View Member listing: `Only site members are allowed to check the Member Directory and Member Profiles.`

Also We have facility to mapped BuddyPress profile fields with our `Registration / Edit Profile` form fields.

Please refer BuddyPress for more details.

# ARPrice Support

ARMember provides support to installed ARPrice Plugin in your site. You can open ARMember "Plan+Signup form" or only "Signup form" on button click event of Pricing table by inserting ARMember shortcodes.

There are two ways to allow member registration with pricing table :

- Page redirection
- Popup Form

On button click event of pricing table, either redirect user to a page having ARMember registration form or configure plan+signup page shortcode for being register OR open a popup by placing ARMember external form shortcode.

Steps for integrating ARMember with ARPrice are as below:

1. Generate ARMember "Configure plan+signup" shortcode.

2. Now edit your ARPrice Template and double click on button, If you want to redirect user to your "Configure Plan+SignUp" page, then add URL of that page in "Button Link" textarea.

   You can hide plan selection area in "Configure Plan+SignUp" page by passing post variable hide_plans=1. Also to keep specific plan selected on that page use subscription_plan=plan_id, do not forget to replace {plan_id} with ID of plan that you want to keep selected as default plan.

   To add post variables go to column setting by clicking on pricing table column, here you will find 'Post Variables' text area.

   Post Variables will work only if you have used "Button Link" in button settings.

3. If you want to open "Configure Plan+SignUp" form in popup when user click on pricing table button, then add external type shortcode of it in 'Embed Script (e.g. PayPal Code)' textarea.

You can show your membership plans with all necessary information as pricing table columns with attractive pricing table template and add ARMember form shortcode in each column button, add both post variables shown above, so when user will click on button, he will just see payment gateways and registration form if user is not logged in.

In this way you can user ARMember with ARPrice for beautifully presenting your membership plans.

# Changelog

## Version 3.0 (29 October, 2018)

- Introducing new Email marketer(Opt-ins) : MadMimi and Mailer Lite.
- Added Support of Instagram Social Connect Facility for Login/Signup.
- Added New Feature to Apply Coupon Discount On each Recurring Payments of subscription plan.
- Added New Feature to create Membership Cards Based on ARMember Membership Plan.
- Added New Facility to Change or Update Credit/Debit Card details for Auto-Recurring Payments.
- Added Facility to Apply Sales Tax based on Country.
- Added new Feature to Credit MyCred Points while purchasing on ARMember Membership Plan.
- Added New Facility to set multi level badges based on specific condition.
- Added Facility to Cancel User's Auto Recurring Subscription while Uninstaling ARMember Plugin.
- Added Facility to Set Prefix / Suffix in Invoice ID and also Facility to set minimum length of Invoice ID.
- Added New Facility to set condition on opt-ins for user subscription.
- Added New Facility to Datewise Search Transactions and Export as CSV from ARMember Payment History Page.
- Added New Facility to display Actual Response at front side for Stripe and Authorised.net Payment Gateway.
- Added Facility to having User Status Inactive Profile will not be displayed in ARMember profile.
- Added New Facility at Manage Member Page search for member status and user having more than one plan.
- Added New Facility to display Order ID on Payment Transaction Shortcode for 2Checkout Payment Gateway which need to use for update their card details through 2Checkout.
- Added new shortcode [arm_userid] for displaying currently logged in user's userID.
- Other Bug Fixes

## Version 2.2.2 (26 May, 2018)

- Minor bug fixes.

## Version 2.2.1 (22 May, 2018)

- Made Compatible with GDPR.
- Made Compatible with WordPress Version 4.9.6
- In Invoice Template Facility to add Form's Custom Fields.
- Other Minor bug fixes.

## Version 2.2 (08 March, 2018)

- Added facility to add Card Holder Name in Stripe payment gateway.
- Fixed bug with Stripe payment gateway tokenization method.
- Made compatible with Vkontakte latest API changes.
- Added sorting facility on Manage Plans, Payment history section.
- Added sorting facility on Member Status.
- Other Minor bug fixes.

## Version 2.1 (14 January, 2018)

- Added Sales Tax facility on membership plan.
- Added faclility to Enable/Disable crop or Skip Crop for avatar and profile cover photo.
- Added new shortcode [arm_user_plan] for displaying currently logged in user's membership plan name.
- Added facility to send Reset Password Link by email while importing users.
- Added facility to select Payment Cycle while mapping recurring type of plan with WooCommerce product.
- Added facility to add more than one email notifications of type Before Membership Expired,Semi Automatic Subscription Payment Remonder, Before Dripped Content Available for different time duration.
- Added new template shortcodes for displaying plan description and tax in email notifications.
- Other Minor bug fixes.

## Version 2.0.1 (30 October, 2017)

- Added support of new shortcodes in email notification templates : Plan Amount, Trial Amount, Coupon Discount, Payable Amount.
- Added new parameters in Edit Profile Form shortcode to change profile cover field title.
- Fixed user verification link rare issue.
- Other Minor bug fixes.

## Version 2.0 (14 October, 2017)

- Added Multiple Membership support. Users will be able to subscribe for more than one membership plan simultaneously.
- Added a very useful and unique feature : Multiple Payment Cycles in subscription type of plan. So, admin will be able to list multiple payment cycle(monthly, yearly, etc.) for the same membership plan.
  Let's say, there is one subscription plan named 'Business Plan' in site, so admin will be able to set 3 different cycles like a) $100 for entire year 2) $60 for each 6 months 3) $10 for each month.
- Added One click sign up feature in social connect. User can sign up into the system with default free membership plan only by one click on social connect button. Also you can add such users to your opt-in account.
- Improved entire core coding of ARMember for Performance boost. Now ARMember operations will perform upto 70% faster
- Profile & Directory Improvements.
  - Introducing unique profile editor to create beautiful user profiles as many as you need.
  - Added facility to set separate profile template for each different membership/plan.
  - Also facility to hide empty profile fields is added.
  - Added new directory template.
  - Added facility to redirect to author's post page from directory listing page.
- BuddyPress
  - Now, you can do complete sync between ARMember & BuddyPress user data like avatar, profile cover, etc.
  - ARMember provides facility to keep ARMember and BuddyPress user data like Avatar, profile cover, etc in synchronization.
  - Added Facility to redirect to BuddyPress profile from ARMember member listing ( Directory ).
  - Also added facility to redirect to ARMember profile page from BuddyPress members listing.
  - Added BuddyPress xprofile field plugin support.
- Access Rules Improvements
  - Added facility to restrict content for logged in users having no plan.
  - Added feature to show partial content of restricted page/posts/category/custom-posts in listing. i.e., If page A is restricted and this feature is enabled, then it will be displayed in 'Pages' widget with all other page names. When clicked on it, page A will not be accessed.
- New drip rule options are added. 1) after x days of post/page published, 2) after x days of post/page modified.
- Introduced Invoice Creation facility for each membership/subscription purchased by user. Invoice template also can be customized.
- Redirection upon form submission facility is moved to general settings area and added more options for conditional redirection like redirect to some page if user is in trial period and redirect to other page if user is in grace period, etc.
- Import & Export Improvements
  - Now onwards, ARMember provides such facility to import user with all custom information.
  - Added facility to export user's all custom fields with selection.
- Payment Gateway Improvements
  - Support for new Stripe currencies is added.
  - Added coupon support for auto-debit payment mode in Stripe payment gateway.
  - Added facility to choose language for 2checkout and PayPal checkout page.
- Plan + Sign Up Wizard Improvements
  - Added facility to enable two step registration in plan+sign up setup page.
  - Added facility to hide user's current plan from plan selection area
  - Added new plan skin for plan+sign up setup wizard.
- Added facility to choose plan start date while assigning plan to user. Also admin can change expiry date of user plan anytime.
- Added facility to duplicate login / change password / forgot password from set.
- Added facility to open plan+signup form modal on click of sign up link inside login form.
- Added facility to add field description for each form field..
- Added facility to Manage member's plans directly from manage members grid.
- Added new status Terminated for members. So, admin can terminate any user's account from admin side.
- Change in Cancel Subscription Action(By User), End Of Term Action, Payment Failed Action for membership plan.
- ARMember Shortcodes
  - Change in {arm_account_detail}, {arm_membership} shortcodes.
  - Added new shortcode support {arm_user_badge}, {arm_user_planinfo}, {arm_avatar}, {arm_usermeta}.
- General Settings
  - Disable wp-login page styling added.
  - Added exclude role facility in restrict admin panel setting.
  - Exclude pages for restriction added in Restrict site access without login.
  - Added facility to Block URLs plan wise in security options.
  - Added facility to manually remove failed login attempts user wise from database.
- Coupon label field is added only for back-end.
- Manual user activation email notification moved to default email notification section.
- Added shortcodes for displaying Next due date and Plan amount in email notifications.
- Added more action and filter hooks related to recurring payment for developers.
- Other Minor bug fixes.

## Version 1.8.1 (20 February, 2017)

- Added new basic email template to send email to Admin when any user will update his profile.
- Added new facility to change email notification schedule timings from admin side.
- Added new facility to send email notification to admin for custom events.
- Added new facility to set custom css for "Close Account" shortcode.
- Added new facility to set label on coupon codes.
- Fixed grace period issue while member expiration.
- Fixed remember me issue with member login.
- Other Minor bug fixes.

## Version 1.8 (03 February, 2017)

- Added new Opt-in method GetResponse.
- Added new facility to choose single/double opt-in method for mailchimp.
- Added new facility to allow administrator(s) to show in member directory list/profile page.
- Added new facility to hide firstname and lastname field from registration form.
- Added new shortcodes to conditionally check current user comparing username or userid.
- Added new shortcode to display content conditionally by checking whether currently loggedin user is in trial period or not.
- Added new facility to change payment gateways label in configure plan+signup page.
- Added firstname and lastname column in payment transaction grid.
- Other Minor bug fixes.

## Version 1.7.1 (17 January, 2017)

- Added new facility to send reminder when new drip content available to users
- Improved plugin loading performance
- Updated 2checkout callback URL
- Other minor bug fixes

## Version 1.7 (11 January, 2017)

- Added facility for invite only members can register with site
- Added facility to set fix expiration date for all members to finite plan
- Added facility to restrict posts bases on tags
- Fixed PHPMailer vulnerability
- Added new email notification event support when admin change any user's plan manually
- Given facility to assign paid plan for expiration and cancel membership action
- Made all fields optional for bank transfer payment method
- Added facility to manage change password success message from general settings
- Other minor bug fixes.

## Version 1.6 (20 December, 2016)

- Added options where user can choose whether to pay with auto debit or manual payment while signup with subscription plan. (Unique Features)
- Added option where plan selection step can be Before or After signup/Registration form at the time of signup.
- Added Coupon Code support in bank transfer payment method.
- Improved Coupon option where admin can issue 100% off coupons too.
- Introduced Grace period for failed payment and EOT plan wise.
- Fixed compatibility issue with the wordpress 4.7
- Removed inbuilt support for cornerstone and Added free Add-on for Cornerstone.
- Added support to add "subscription start date" of a user while importing users' details (arm_subscription_start_date should be column name of CSV file then it would work ).
- Improved Manage members grid to load faster with better options.
- Fixed issue of when fetching profile picture from twitter connect.
- Improved content protection mechanism.
- Improved overall performance while page load.
- Other minor bug fixes.

## Version 1.5 (25 November, 2016)

- Added WooCommerce Products and ARMember plans Integration ( Now, Plans can be mapped with WooCommerce products and when user will purchase products from woocommerce, mapped plan with that product will be assigned to that user. )
- Added Semi Automatic Subscription Method.
- Added Facility to set Paid Trial Period with Stripe Payment Gateway.
- Added MyMail Opt-in integration support.
- Added controls in menus setting page to apply plan wise permissions.
- Added New Redirection Rules setting for restricted items for Loggedin and NonLoggedIn users wise.
- Added New Redirection Rules setting to restrict site access for Blocked/Expired and Pending Verified users wise.
- Added Facility for Replacement of ARMember profile page on bbPress' user profile link.
- Added New Font awesome icons support- for form field suffix/prefix option.
- Added Facility to search members with their custom metas in Member Directory page.
- Added Facility to display social Avatar while get authenticated with social connect buttons.
- Added Facility to set admin email address from ARMember General Settings page.
- Other minor bug fixes.

## Version 1.2.3 (11 November, 2016)

- Added facility to hide username field on signupform and use email as username.
- Auto lock shared account facility.
- Added facility to display message for already loggedin users in Registration, Login and Forgot Password form.
- Added new FontAwesome icons.
- Other minor bug fixes.

## Version 1.2.2 (25 October, 2016)

- Added email functionality for user activation from admin side(Manual Activation).
- Added conditional redirect option in login form.
- Improved in-buit spam protection.
- Improvement in form style loading.
- Other minor bug fixes and css changes.

## Version 1.2.1 (12 October, 2016)

- Improved in-buit spam protection captcha mechanism
- Added new email for renew subscription.
- Added norwegian currency support in Stripe payment gateway.
- Added new shortcodes to display current username, current user's display name and current user's firstname and lastname.
- Added new facility to add current user's username and id in URL to redirect users after login.
- Added profile picture cropping facility in mobile devices.
- Added facility to set ARMember forms in case of email verification and reset password.
- Improved plugin loading performance.
- Other minor bug fixes and css changes.

## Version 1.2 (30 September, 2016)

- Added new functionality to Import users with "Password" provided in imported file
- Added new widget of "ARMember Login Widget" – which will display Current user profile data after user loggedin.
- Added facility for track user loggedin/loggedout history. And full history will be displayed at admin side.
- Added advanced effects in Latest Member widget (with rotation effects).
- Added new facility for Conditional Redirection. Redirection within page based on user's plan
- Improvement in Profile Directory – Dynamic selection for show/hide Profile field.
- Added new plan skin (dropdown style) in plan + sigup configuration page.
- Improved Navigation menu Show/hide position based on its parent menu display condition
- Improved plugin loading performance.
- Other minor bug fixes and css changes.

## Version 1.1 (19 September, 2016)

- Added Facility to show Navigation menu item conditionally. Display navigation menu item to All USERS, only LOGGEDIN USERS, only NON LOGGEDIN USERS conditionally.
- Added new conditional shortcode to compare user meta value.
- Added new facility to set common password for all new users while importing.
- Added Facility to set default plan in plan + signup configuration page.
- Added bbPress Support.
- Added new facility for "reset login attempts".
- Improved plugin loading performance.
- Other minor bug fixes and css changes.

# Sources & Credit

1. Facebook API
2. Twitter API
3. Google Plus API
4. Linkedin API
5. VKontakte API
6. Maxmind GeoIP
7. Constant Contact API
8. Aweber API
9. MailChimp API
10. Angular JS
11. Angular Material JS

Please follow us on,

- Facebook
- Twitter

Thanks,
ReputeInfosystems