Quantcast
Channel: Code Recipe Posts for Extending Your Membership Site
Viewing all 326 articles
Browse latest View live

Send a Member’s Address Fields to MailChimp


Display Your Business Address and VAT Number (optional) on Membership Invoice and Confirmation

$
0
0

Provide members with your business address and VAT Number for tax and recording keeping purposes using this simple code recipe. The recipe will add your information to the Membership Invoice screen and print views, as well as the Membership Confirmation page.

pmpro-business-address-invoice

This content is for members only. Visit the site and log in/register to read.

Lock Posts to Members-Only After Specific Timeframe

$
0
0
Allow public access to your members-only content for a set timeframe. The example below allows all members-only posts to be viewed for 24 hours, after which membership will be required to view. This recipe is a variation of our previous technique to hide old posts from new members. The Code Recipe View the code on Gist. Copy and paste this code recipe into your theme’s functions.php file or a helper PMPro Customizations plugin (our recommended method). Update line 20 with your specific timeframe.

Set the bbPress User Profile as Membership Account Page

$
0
0

If you’re using bbPress for your membership site, the code recipes below are designed to streamline the member’s various profile/account pages into one primary dashboard: the forum user profile (located at /forums/users/nicename).

pmpro_bbpress_profile_membership_account

This recipe will redirect the specified “Membership Account” page to the bbPress Profile for your member. A recipe is also included to insert the [pmpro_account] shortcode before other default content in the “Profile” tab of this page. You can use the base shortcode [pmpro_account] OR specify sections to display using the “sections” attribute of the shortcode.

This content is for members only. Visit the site and log in/register to read.

Best Practices for Member Log In and Log Out

$
0
0

Easily add a front-end log in, log out, and password reset experience to your membership site by following the steps covered in this post. We’ll outline our recommended third party plugin for front-end login, as well as some “best practice” guidelines for placing these links on your site using your theme or Memberlite.

Topics include: Recommended Plugin | Configuring TML | Link Placement Best Practices | Styling the Login Page | A Conditional Login/Logout Link


Wait, doesn’t Paid Memberships Pro do this?

Our plugin allows the member account to be created in one step as part of checkout. But, returning members need to be able to easily access your login and password reset pages.

PMPro does not alter the main WordPress login functionality, so users will see the same WordPress-themed “Log In” page that you are probably familiar with. Use our recommendation below to add frontend login.

Note: Some themes include pages for a front-end log in experience. If this is the case, we recommend keeping that experience in place as it may be more trouble to unravel and put another method in place.


We recommend Theme My Login

Theme My Login by Jeff Farthing creates a themed (frontend) login, password recovery, and user profile section. In addition, we recommend the plugin for login redirection settings and blocked “admin” access.

Your Login Page with the default WordPress appearance. Your Login Page with Theme My Login and the Memberlite Theme

Download Theme My Login via the WordPress.org Plugin Repository

…or search for “Theme My Login” from the Plugins > Add New page in the WordPress admin.


Configuring Theme My Login

When you activate TML, the plugin will generate five pages: Login, Log Out, Lost Password, Reset Password, and Register. All of these pages except the “Register” page will be used in your membership site (we redirect all User Registration to the Membership Levels page for level selection and, hopefully, membership checkout).

There are no additional steps required at this point to make TML functional. You can certainly edit the generated pages to add additional styles, widgets, wording, etc. Just be sure you do not remove the [theme-my-login] shortcode from the page content.


Where to add your “Log In” links

Today’s web user has certain expectations about your site’s “Log In” links. Here are some best practices to consider:

  • The link is expected to be placed in the upper right corner of the page.
  • Consider placing a “Sign Up” (Join or Register) link in this same space as well.
  • The link should be present across all pages on your site.
  • Swap to a “Log Out” link once the member has logged in.
  • The “Log Out” link is often accompanied by a reminder of the logged in member’s display name that links to their membership account details or profile.
  • If your site is responsive, make sure that your “Log In” links are present in the smaller device views, either at the very top of the screen or in your mobile/responsive menu.

pmpro_mobile-menu-widget-tmlMemberlite does all of the above by default, excluding the “Mobile” view of your log in link. If you’re running Memberlite, I recommend using the TML plugin and adding the “Theme My Login” widget to the “Mobile Menu” widget area. The screenshot to the right shows how I have it configured for the Paid Memberships Pro website.

If your theme does not have a widget, menu area, or hook in place to add a log in feature in the upper right, open a topic on our members forum and we will help you find the best way to add this to your site.

We also include a “Log In” link in the default message that a visitor sees when trying to access members only content. Confirm that you have not removed this link by visiting the Memberships > Advanced Settings page in the WordPress admin.


Styling the Log In Page

TML is very lightly styled – the shortcode output on your generated Login and Password Reset pages will inherit your theme styling.

If you’re running Memberlite , here’s a little code to enhance the appearance of your Login/Lost Password/Reset Password pages. Set the “Page Template” to “Full Width” and replace the page content with the following:

[row]
	[col medium="4" medium_offset="4"]
		<div class="pmpro_message pmpro_default">[theme-my-login]</div>
	[/col]
[/row]

I also checked the boxes to “Hide Page Title” and “Hide Breadcrumbs” in the Memberlite Settings box, then set the “Banner Description” to the following:

<h1 class="text-center">Log In</h1>

The Conditional “Log In” link

After activating TML, navigate to the Appearance > Menus area of your admin. Under the “Pages” section in the left column, you’ll see pages titled “Log In” and “Log Out”. Add these two pages to your menu. TML has background logic in place to only show the appropriate menu link based on the user.

Take this one step further and use the Nav Menus Add On for Paid Memberships Pro. This will allow you to use the same theme location to show a different menu of links based on the visitor/user/member status. We use TML in combination with the Nav Menus Add On on this site to link to our member support forums for PMPro Core or PMPro Plus members using the “Member Menu” theme location of Memberlite.


Do More with Theme My Login

Theme My Login also has advanced logic for blocking the WordPress backend by “role”, as well as redirection on login based on “role”. You can read more about all the features of TML on their WordPress.org plugin repository listing.

If you’re looking to redirect members on login based on membership level, see this blog post on membership level redirection.

Making a Powerful Member Dashboard for your Membership Account Page

$
0
0

The Membership Account page is a commonly linked-to landing page for members – both as a redirect from other areas on your membership site or on log in. This page can be enhanced with more than just the default [pmpro_account] information to become a true Member Dashboard.

Below are a few Member Dashboard concepts based on the common membership site types we support here at Paid Memberships Pro.


Click on the tabs below to view screenshots of each dashboard type and a guide to set up the dashboard for your Membership site.

Blog, Content Publisher, or Magazine Site Member Dashboard

Premium Content Publisher or Magazine Member Dashboard

Plugins used in the Demo:

Demo theme:

Memberlite


How to Set Up Your Page

  1. Navigate to Widgetize Pages > Add Sidebar to create a new in-page widget area named “Member Dashboard”. [Widgetize Pages Lite must be installed and activated]
  2. Navigate to Appearance > Widgets.
  3. Add the “Recent Comments” widget to the newly created “Member Dashboard” widget area.
  4. Navigate to Memberships > Page Settings in the WordPress Admin.
  5. Edit your site’s “Membership Account” page.
  6. Set the “Template” to “Fluid Width”.
  7. In the “Memberlite Settings” area, check the boxes to hide breadcrumbs and hide the page title.
  8. Replace the entire page’s content with the code block below:

    View the code on Gist.

  9. Add this block of CSS to a child theme’s stylesheet or a stylesheet for PMPro Customizations:
    <style>
    #basic-user-avatar-form p {display: inline-block; width: 70%; }
    #basic-user-avatar-form .avatar {float: left; }
    #basic-user-avatar-form p.description {clear: both; font-size: .8em; font-style: italic; line-height: 1.2em; width: 100%; }
    .recent_comments {background: rgba(255,255,255,0.25); border-radius: 10px; padding: 1px 3rem 3rem 3rem; }
    .recent_comments ul {margin: 0; }
    .recent_comments li {list-style: none; border-top: 1px dotted #FFF; margin: 0; padding: 1rem 0; }
    </style>
  10. Save and Publish the page.

Premium Downloads with Download Monitor Member Dashboard

Premium Downloads Member Dashboard


How to Set Up Your Page

  1. Navigate to Memberships > Page Settings in the WordPress Admin.
  2. Edit your site’s “Membership Account” page.
  3. Set the “Template” to “Full Width”.
  4. In the “Memberlite Settings” area, check the boxes to hide breadcrumbs and hide the page title.
  5. Replace the entire page’s content with the code block below:

    View the code on Gist.

  6. Add this block of CSS to a child theme’s stylesheet or a stylesheet for PMPro Customizations:
    <style>
    .infographics ul li {display: inline-block; list-style: none; width: 45%; }
    </style>
  7. Save and Publish the page.

eLearning with WP Courseware Member Dashboard

eLearning with WP Courseware Member Dashboard

Demo theme:

Memberlite


How to Set Up Your Page

  1. Navigate to Memberships > Page Settings in the WordPress Admin.
  2. Edit your site’s “Membership Account” page.
  3. Set the “Template” to “Fluid Width”.
  4. In the “Memberlite Settings” area, check the boxes to hide breadcrumbs and hide the page title.
  5. Replace the entire page’s content with the code block below:

    View the code on Gist.

  6. Add this block of CSS to a child theme’s stylesheet or a stylesheet for PMPro Customizations:
    <style>
    #pmpro_account .pmpro_box {border-top: none; }
    #pmpro_account-membership div.pmpro_actionlinks {display: none; }
    </style>
  7. Save and Publish the page.

bbPress Forums Member Dashboard

bbPress Forums Member Dashboard


How to Set Up Your Page

  1. Navigate to Widgetize Pages > Add Sidebar to create a new in-page widget area named “Member Dashboard”. [Widgetize Pages Lite must be installed and activated]
  2. Navigate to Appearance > Widgets.
  3. Add the “(bbPress) Statistics” widget to the newly created “Member Dashboard” widget area.
  4. Navigate to Memberships > Page Settings in the WordPress Admin.
  5. Edit your site’s “Membership Account” page.
  6. Set the “Template” to “Fluid Width”.
  7. In the “Memberlite Settings” area, check the boxes to hide breadcrumbs and hide the page title.
  8. Replace the entire page’s content with the code block below:

    View the code on Gist.

  9. Add this block of CSS to a child theme’s stylesheet or a stylesheet for PMPro Customizations:
    <style>
    #basic-user-avatar-form p {display: inline-block; width: 70%; }
    #basic-user-avatar-form .avatar {float: left; }
    #basic-user-avatar-form p.description {clear: both; font-size: .8em; font-style: italic; line-height: 1.2em; width: 100%; }
    #pmpro_account .pmpro_box {border-top: none; }
    #pmpro_account-membership div.pmpro_actionlinks {display: none; }
    .widget_display_topics li {margin-bottom: .5rem; }
    .widget_display_topics div {display: inline-block; }
    .widget_display_stats dl {padding-top: 1em; }
    .widget_display_stats dt {border: none; clear: left; float: left; font-weight: normal; margin: 0 .5em 1em 0; padding: 0; }
    .widget_display_stats dd {margin: 0 1em 1em 0; }
    </style>
  10. Save and Publish the page.

What about that fancy “Welcome” message in the masthead?

pmpro_membership-account-masthead-avatarAll of the dashboard demos feature a common “Welcome, USER” and avatar display in place of the default “Membership Account” page title. Here’s how to set it up.

  1. Create and activate a child theme for your Memberlite-powered site. [docs]
  2. In the child theme’s functions.php file, add the following code recipe:

    View the code on Gist.

  3. Save the upload the functions.php file to your server.

If you do not want to use a child theme, you can place the code recipe in a helper PMPro Customizations plugin. Just note that the recipe as-is will only work for a site using the Memberlite theme.


Now go make a cooler Member Dashboard!

The ideas in this post are a starting point to creating the BEST member dashboard that fits your membership site model. You can pull from all of the concepts or start with your own. If you have components of the dashboard that vary based on the member’s level, use the [membership] shortcode to reveal specific sections to the member. There are many, many possibilities if you spend a bit of time considering the user experience of your membership site.

If you aren’t using the Memberlite theme, you can still make use of the proposed ideas — but you’ll need to work within the confines of your theme’s shortcode and layout options.


Note that the demo is designed for sites running the Memberlite Theme and Memberlite Shortcodes plugin.

Discount Code Customizations Mega Post

$
0
0

Discount codes are a feature included in the core Paid Memberships Pro plugin. This post covers some advanced and some not so advanced adjustments and customizations that are commonly used for our discount code features. For general support on discount codes, see our Discount Codes documentation page


Discount Code SEO

If you have at least one discount code created in PMPro, a discount code field will show up on the checkout form.

Having a discount code field on your checkout page encourages customers who may not already know of a discount code to go search for one. If you can spare a small public discount code, it’s a good idea to have a page on your site called “My Site Discount Code” that should surge to the top of Google searches, bringing those customers back to your site. Five dollars, a 5% discount, or more, might be a small price to pay to attract those deal-loving members.


Hide the Discount Code Field

One way to keep people from DCFOMO (discount code fear of missing out) is to hide the field from your checkout page entirely.


One-time Discount Codes

By default, PMPro discount codes can be used by the same user multiple times.

On the Memberships > Discount Codes admin page, you can set an overall number of “uses” for a code, but this number applies to uses across all customers. If you set a code to have 5 uses, that could be 5 different customers or the same customer 5 times.

  • Here is an article explaining how to set it up so that certain discount codes can only be used once by each member. This code won’t keep someone from creating a new account under a different email address in order to use a discount code twice, but we generally advise against trying to block this or any of the stricter discount code checks. You may catch someone taking advantage of your discounts, but you also risk losing members this way or hassling people who are just signing up a friend or relative with their own address or credit card/etc.

Require a Discount Code

Sometimes you might have a membership level that you want to close off from the public.


Group Discount Codes

If you have a large number of people you’d like to give discount codes to, you have a couple options.

  • The first, supported by the core PMPro plugin, is to create one discount code with a set number of uses and email/etc that same code to everyone.
  • The second option is to create an individual discount code for each user. For the second option, you’ll need to use our Group Discount Codes Add on. With this add on, you generate discount codes as usual to control the price adjustment, but then you can generate a list of random one time use codes to apply that discount. This is useful if you are running a promotion via a site like Groupon.

Anything Else?

If you are using PMPro discount codes in a unique way, let us know in the comment.

Or if there is something you are trying to do with discount codes, ask us in the comments and we’ll try to address it in future blog posts. Thanks!

New [haspaid] Shortcode: Show Content to Paying (or not paying) Members Only

$
0
0

Jason just coded up a new shortcode feature for a support customer and we wanted to share it—hooray open source! It’s a little tricky to explain, but once you wrap your brain around the features, you’ll begin to think of interesting ways to apply it to your membership site.

The shortcode is primarily useful for sites that offer free trials and want to show (or hide) content to users who are on the trial vs. those that are full paying members.


A little more detail…

The “haspaid” shortcode detailed below looks up a member’s order history and checks whether their current level or any past levels have a positive order total value. Then, using the shortcode attributes, you can show or hide content only to members that match your criteria.

For example, the image above shows an upgrade message to members on a free trial of level ID 1 that have NEVER paid for the level. This is the shortcode and content used to create that callout.

[haspaid level="1" paid="0"]

Unlock Additional Members-only Content!

You are currently on a free trial membership. To unlock additional content, please upgrade now to a full membership. Upgrade to Gold Membership
[/haspaid]

Members of level ID 1 that are paying (full members) will not see this callout or any interruption in the standard content of your page/post.

Another example may be to wrap the [haspaid] shortcode inside of the [membership] shortcode to show an upgrade notice to members who USED to be a higher tier and are now a lower tier. For example:



Shortcode Attributes

  • paid: Accepts ‘true’ (has paid) or ‘false’ (hasn’t paid); default: true
  • level: The level ID to check against. Accepts any level ID; default: none.

Shortcode Examples

[haspaid]
	This will show up if the user has paid for any level.
[/haspaid]

[haspaid paid='0']
	This will show up if the user has NOT paid for any level.
[/haspaid]
[haspaid paid='1' level='1']
	This will show up if the user has paid for level 1 specifically.
[/haspaid]
[haspaid paid='0' level='1']
	This will show up if the user has not paid for level 1 specifically.
[/haspaid]

The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Add Links by Membership Level to the Membership Account Page “links” Section

$
0
0

As part of our ongoing Hooks and Filters documentation updates, I wanted to post a quick recipe for how to add links to the Membership Account page under the “Member Links” section.


Available Hooks for the Member Links Section

You can use these filters in combination with the pmpro_hasMembershipLevel() function to check a user’s level before displaying links.


The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options

Run a “Sale” on Your Membership Site and Show the Regular Price with Strikethrough Style

$
0
0

If you want to offer a discount on membership for a temporary timeframe, but still want to remind customers of the full price, this code example for you. Users will see (and pay) the discounted price, but will be reminded of the regular price so they know they are getting a deal.



How it Works

For this example, we have a membership level that is regularly $97 but we are offering a temporary discount ($50 savings) on membership.

We’ve updated the membership level price to have an initial payment of $47, then used this code recipe (and the pmpro_level_cost_text filter to show the price as pictured above.

When you are finished offering the discount, just update your membership level price and remove the code recipe from your site.


The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Need help getting this to work?

The specific example above may not work for the discount you are offering, so just post to our members-only support forum (PMPro Core or Plus members) and we will help you modify the level’s price display to show your unique promotion.

New Report to Instantly View Your Refund Rate for Month/Year/All Time

$
0
0

Add a custom report to the Memberships > Reports dashboard that displays your membership site’s refund rate.

pmpro_refund-rate-report

See this blog post on custom reports to learn how to add the custom code to your site.

This content is for members only. Visit the site and log in/register to read.

Show Members Reports on the WordPress Admin Dashboard

$
0
0

The WordPress Dashboard is the administrator’s first view after login. This code recipe demonstrates how to include the reports shown under Memberships > Reports on the WP Dashboard.

This content is for members only. Visit the site and log in/register to read.

Database Script: Apply a membership level to all users without a level

$
0
0

This advanced code recipe contains a SQL script to run against your WordPress site’s database. You can use Adminer, phpMyAdmin, or your host’s MySQL management tool of choice to execute the query.

The script will apply a membership level (by ID) and expiration (optional) to all users in the wp_users table that do not already have a membership level. This is useful for sites that already have a large number of “users” that you would like to be placed into a default membership level or a grandfathered-in membership level from an older system.

For more advanced bulk member update or import features, see our Import Users from CSV Add On.
This content is for members only. Visit the site and log in/register to read.

Hide “Discount Code” field on Membership Checkout for Free or Specified Levels

$
0
0

If your membership site makes use of discount codes, the fields to enter a code will appear on the membership checkout page for all levels. Use the code recipe below to hide these fields for a free membership level checkout or for specific levels you don’t offer discounts for.

pmpro_hide-discount-code-free-level

But wait, why don’t you just do this automatically?

Some people make use of the Discount Codes in unique ways – even for their “free” levels. For example, we have one customer using these codes as “Invoice Numbers” that are mapped to a specific dollar amount. The member selects the “level” which has no fee, but enters the provided “code” to pay their amount owed. Or, some use discount codes to extend a free trial period.

This content is for members only. Visit the site and log in/register to read.

Capture Default WP User Profile Fields at Membership Checkout using Register Helper

$
0
0

Our Register Helper Add On allows you to add new profile fields at membership checkout. This recipe will demonstrate how to use that add on to capture and populate the default fields in the WordPress User profile.

Default WP User fields at checkout


What are the default WordPress User fields?

The WP_User class has the following core fields that you may want to capture at membership checkout. It’s important to use the exact field “key” so that captured fields are properly matched to the default profile field.

Field Key Field Name
user_login Username*
first_name First Name
last_name Last Name
nickname Nickname
email Email Address*
url Website
description Biographical Info

* This field is already captured at Membership Checkout with a default Paid Memberships Pro setup.


Capture First and Last Name

You can skip the methods below and use the Add Name to Checkout Add On to instantly add the fields for First Name and Last Name on membership checkout. This method does not require Register Helper.

View the Add On

Use Billing Name as First and Last Name

This tutorial shows you how to synchronize fields from the Billing Information section of membership checkout with user meta fields, included custom fields added via the Register Helper Add On or fields core to the WordPress user object.

View the Tutorial

Capture Some Other Default User Meta Field

Below is the code to use the Register Helper Add On to capture the “Biographical Info” and “Website” fields at membership checkout.

View the code on Gist.

Copy and paste this code recipe into your theme’s functions.php file or a helper PMPro Customizations plugin (our recommended method).


Lock Your Entire eCommerce Shop for Members-Only

$
0
0
The code recipes below demonstrate how to restrict your online store to members-only using WooCommerce or Jigoshop. If you’re using a different eCommerce plugin, post a topic in our member forums and we will help you get the restriction in place. Restrict the entire WooCommerce store View the code on Gist. Copy and paste this code recipe into your theme’s functions.php file or a helper PMPro Customizations plugin (our recommended method). Edit line 13 with the array of level IDs that have access to the store. Restrict the entire Jigoshop store View the code on Gist. Copy and paste this code recipe (more...)

Ask “How did you hear about us?” at Membership Checkout

$
0
0

This code recipe adds a field to ask new members how they were referred to your site via the Register Helper Add On. The member can select the referring source via dropdown or enter a custom “Referred by” value. The field is display in the User Profile and Members List Export for admins only.

This content is for members only. Visit the site and log in/register to read.

Memberships Levels Page: Order, Hide the Display, or Skip it Mega Post

$
0
0

We have several tutorials for altering the membership levels page using the default [pmpro_levels] shortcode or the Advanced Levels Page Shortcode Add On. This post summarizes several methods to:

It’s a useful guide if you aren’t quite sure of a method to use and want to explore your options.


Reordering the Membership Levels Display

Navigate to the Memberships > Membership Levels page in the WordPress Admin. Here you can drag and drop the membership levels into the order you would like them to display when using the default [pmpro_levels] shortcode or the [pmpro_advanced_levels] shortcode.

Drag and Drop Membership Level Order

If you are using the [pmpro_advanced_levels] shortcode, you can also specify the levels="2,4,1" attribute to force the display in your preferred order. This method will simultaneously reorder the display AND filter out levels you do not want to display.


Hide Free Levels from the Membership Levels Display

Here’s a tutorial for hiding all the free levels from display. This is a useful method if you have free levels that are reserved for specific customers or promotions, etc.

View the Tutorial

Hiding Specific Levels (by ID) from the Membership Levels Display

To hide levels using the [pmpro_advanced_levels] shortcode, just exclude them from thelevels="1,2,3" attribute of the shortcode. Easy!

If you are using the default [pmpro_levels] shortcode, you have two options for hiding levels from the output:

Option 1: Define hidden levels in a custom function.

The code recipe below allows you to define specific level IDs that will not be shown on your membership levels page.

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Option 2: Add a setting to “hide” levels from display on the Memberships > Edit Level admin.

This code recipe adds a new level setting to hide the display. If you expect to be manipulating level display fairly often and would prefer to do so via settings in the dashboard vs. code, this is the recipe for you. After installing the customization code, just navigate to Memberships > Edit Level and set “Show level” to “Yes” or “No”.

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Skipping the Membership Levels Page

If you have only one public level of membership, this method will redirect members from the membership levels page directly to membership checkout for the defined PMPRO_DEFAULT_LEVEL.

View the Tutorial

Skipping the Membership Checkout Process

As with the “skipping” option above, this method will allow you to use the default WordPress registration process (or another plugin or theme’s registration process) and apply a default level of membership.

View the Tutorial

Allow Members to Favorite Posts using the Favorites Plugin for WordPress

$
0
0
Add a special feature for your members that allows them to mark posts as “Favorites”. Then, show your members their bookmarked posts on the Membership Account page. Below are two code recipes that integrate Paid Memberships Pro with Favorites by Kyle Phillips. Code Recipe 1: Show the “Favorite” button to All Members This recipe restricts display of the “Favorite” button to logged in members only on content they have access to view. Be sure to turn off the automatic display of the button under Settings > Favorites > Display. View the code on Gist. Copy and paste this code recipe (more...)

Customizing the Member Cancellation Process

$
0
0

The Membership Cancel page includes a shortcode that allows members to immediately cancel their membership. This post covers some alternative methods to manage or modify the default behavior of member cancellations.


Don’t want to allow members to cancel?

The default [pmpro_cancel] shortcode outputs a message and button that a member would click to cancel their account.

One of the commonly requested features is to remove this behavior and require members to contact you in order to cancel their membership.

To do this, navigate to Memberships > Page Settings and click “Edit” for the page assigned as the “Membership Cancel” page. Then, remove the [pmpro_cancel] shortcode and replace it with your desired content. You could simply put a message and a contact email address, such as:

Please contact us as info@domain.com to request a membership cancellation.

Or, add a contact form using a plugin such as Gravity Forms, Ninja Forms, Caldera Forms, or the “Feedback” module of Jetpack.


Downgrade Membership instead of Canceling

If you offer a “free” membership level, this post includes the recipe to change a member’s level when they cancel or expire. Using this method, a member could use the default cancellation process, their paid membership level would be removed, any attached subscription at the gateway will be cancelled, and their membership level will be changed to your default (downgrade) level.

View the Tutorial


Delete the User Account

If you run a VERY tight ship and want to remove the WordPress user when they cancel their account, this post includes the recipe to do so. We don’t recommend doing this as it messes up a lot of data in Memberships > Orders. It’s also smart to maintain a list of canceled members for future marketing efforts. Perhaps you would like to invite them back at a discount or offer a new membership that wasn’t previously available. That said, there can be other reasons that you would need to delete the user account so we still want to demonstrate how this is done.

View the Tutorial


Cancel a Member Automatically After Failed Subscription Payment

This method doesn’t relate to a member canceling themselves, but rather when the gateway lets your site know that a member’s subscription payment failed. The Failed Payment Limit Add On allows you to specify a number of “tries” before the membership is cancelled.

Be sure to check with your gateway settings, as some gateways (such as Stripe) allow you to set rules related to retries and failed payments on recurring subscriptions. These can override the settings of the Failed Payment Limit Add On.

View the Add On


Have another creative member cancellation request?

This post has covered a few alternative / custom methods as related to member cancellations. If you have another idea on how you would like to manipulate cancellations, post a comment below or open a topic in our member forums for support on the methods described above.

Viewing all 326 articles
Browse latest View live