WordPress Pay Per Post Plugin (CMPPP) - Use Case - Creating a Paid Articles Site


Creating a Paid Articles Site With WordPress Pay Per Post Plugin

Back to User Guide

Requirements

This use case requires these to be installed and activated:

Note

  • Subscriptions are not automatically renewed. Once a subscription expires, users should buy a new one
  • You can lock any type of post (post, page and even pages created from other plugins)

Video Use-Case

Introduction

The WordPress Pay Per Post plugin gives the ability to charge users for accessing content on your site. 

Example

Before Payment

Example of the restricted post - Pay-Per-Post Plugin
Example of the restricted post

After Payment

Example of the post after paying for the access - WordPress Paywall Plugin
Example of the post after paying for the access

How It Works

To allow payments, the plugin uses either EDD (Easy Digital Downloads) or WooCommerce. Both plugins are free and grant access to payment gateways such as PayPal and Stripe (note that some gateways might be paid)

TIP: Can I Lock Only Posts? Or Pages Too?

You can lock any content type: post, page, and even custom post types from other plugins!   

For the sake of brevity, we mostly use "post" in this article and in the plugin interface.

Use Case Assumptions

In this example use case guide, we'll cover how to charge users via direct payment to have access to parts of your website, such as pages or posts. 

We also consider you bought the plugin, but not installed it, and that you have not installed either EDD or WooCommerce. 

It follows:

Installing the Plugin

The process is the same for all CM plugins and add-ons.

CreativeMinds Customer Account Dashboard - Downloads tab
CreativeMinds Customer Account Dashboard
  • Download the plugin from your customer dashboard.
  • Log in to WordPress and navigate to the WordPress Admin â†’ Plugins settings.
  • Click on Add New.
  • Activate it and add the license.

Installing Payment Plugins

Direct Payment: EDD or WooCommerce

You must choose between either Easy Digital Downloads or WooCommerce.

EDD or WooCommerce? 

As far as the plugin is concerned, there is no different between them. Both have the same features

Head to Admin Dashboard → Plugins → Installed Plugins and click Add New

Installing new plugin
Installing new plugin

Search for either Easy Digital Downloads or WooCommerce and install it.

Installing the payment plugin
Installing the payment plugin

Configure Payment Plugins

Don't forget to configure the payment plugin! This way you can connect it to payment providers such as PayPal or credit card companies.

External Resources

Choose - Charge For Accessing Each Post or For Whole Website

The first decision we have to make is how to charge users.

So let's head to the Settings → General tab, where you can configure just that in the "Subscriptions" section.

Subscription model option - Paywall Plugin WordPress
Subscription model option

Pricing Options

  1. User purchases access for each post - Edit a post to set a price for it
  2. User purchases access for groups of posts - Create a price group, then edit a post to assign it
  3. User purchases access for either individual posts or groups of posts - Edit a post to either assign an individual price or a price group

    Effectively, it's a combination of the previous two

    Setting up the pricing options - Best Paywall Plugin for WordPress
    Setting up the pricing options

Create Options For Prices

How It Works

  • Create a price option
  • Assign it to a post
  • (Optionally) Create a pricing group and bundle multiple posts into it

In the plugin settings you can define several options: create groups and set its pricing. In the following example, both groups have three subscription tiers.

Example of pricing options - WordPress Plugin Paywall
Example of pricing options

TIP: Section is Empty?

If there's no option to create a pricing group, ensure these are activated

  • Pay Per Post EDD add-on
  • WooCommerce or EDD
Adding pricing options - Paywalled Content
Adding pricing options

TIP: For Decimals, Use Periods

When setting prices with decimals, use periods (.), and not commas.

  • Good example: 2.99
  • Bad example: 2,99

TIP 2: Period Options

You can create options in: minutes, hours, days, weeks, months, years and lifetime


Select Price For Accessing Your Post or Posts

Time to determine which posts are locked behind a paywall.

First, create or edit the relevant post.

Editing the post
Editing the post

Then, scroll down to the CM Pay Per Posts metabox.

Setting up a group or individual price for accessing a post - Paywall Solutions for Publishers
Setting up a group or individual price for accessing a post

In-depth Look

Metabox for setting up a group or individual price for accessing a post - WordPress Pay Per Post Plugin
Metabox for setting up a group or individual price for accessing a post

Which options (1 and 2) are available on each post depends on the settings.

  1. Setting a price group
  2. Optionally, set one price that will apply only to this post

Now, you should edit each content to set its pricings.

Example: Post With Multiple Pricings

First, we edit the desired post.

Editing the post
Editing the post

Then, we check the metabox "CM Pay Per Posts" and add the price option. In this case, there are two:

  • Pricing group "Basic articles"
  • Individual price - lifetime access for $40
Setting up a group or individual price for accessing a post - Pay-Per-Post Plugin
Setting up a group or individual price for accessing a post

Now, users will be prompted to pay before accessing the content.

Example of group and individual prices for accessing the post - WordPress Paywall Plugin
Example of group and individual prices for accessing the post

SEO: Show Full Content To Search Engines

For SEO purposes, you can enable indexing the full post content by the search engines' crawlers by enabling the option "Show full post for search engines' crawlers". 

The plugin will serve the entire post instead of the payment box for crawlers that request your website with the specific User-Agent HTTP header.

Layman Terms

This setting allows search engines like Google to "see" the full post, even if it's behind a paywall.

If the search engines can't "see" the content, they will have a hard time indexing and ranking it properly.

You can manage the supported search engines by editing the setting "Search engines User-Agent list". Each row is in the text field a separate regular expression that will be searched for in the User-Agent header. You can add your own expressions to match different search engine.

Search engines options - Paywall Plugin WordPress
Search engines options

Learn more: WordPress Pay Per Post Plugin (CMPPP) - Extras - Search Engines Optimization (SEO)


Define What Is Shown Before Payment

Back in the General tab, you can choose what is shown to visitors before they pay.

  1. Show only part of the content (more options) - Specify how much of the content is hidden.
  2. Hide only content - Hides the complete content.
  3. Hide full page - Hides the full page, including content, header, and footer.
  4. Hide specific page elements (more options) - Specify which elements of the page are hidden.
1) Show only part of the content additional options

a) Use post excerpt

  • If enabled, post excerpt will be displayed (if available) until the user pays for the access.
  • If disabled, the post content fragment will be displayed.
Excerpt Example

With the following excerpt

Adding an excerpt to the post
Adding an excerpt to the post

The excerpt is shown before the pay box 

Displaying a post excerpt before the access to post is purchased - Best Paywall Plugin for WordPress
Displaying a post excerpt before the access to post is purchased

b) Show first x% content

Show a percentage of the post content. Only works if "use post excerpt".

c) Apply fade out effect

Gradually hides the content, respecting the percentage value.

Example

50% content and fade out effect.

Fade effect - WordPress Plugin Paywall
Fade effect
2) Hide Full Post in Frontend

If enabled, will hide the full post (starting from the Read More tag) until the user pays for the access.

Backend vs. Frontend Example

Hiding full post - Paywalled Content
Hiding full post
3) Hide Full Page

Hides all elements of the page.

Example

Hiding full page - Paywall Solutions for Publishers
Hiding full page
4) Hide Specific Page Elements

ID of Block (only one) to be replaced with payboxes

Set one element ID which will be replaced with payboxes. E.g. "main". Accepts only one ID that is not inside the post/page content ID of Blocks to be hidden: 

ID of Blocks to be hidden

Set the element ID which will be hidden. To add multiple, separate them by commas. E.g "main, content, footer".

The element cannot be inside the post/page content.

Note: Doesn't Include Post/Page Content

This feature does not apply to content inside the page/post. As such, in the following example the IDs box and content1 would not be hidden.

Hiding specific page elements - WordPress Pay Per Post Plugin
Hiding specific page elements

TIP: Finding ID

To find the ID of an element, use the inspect tool of your browser. Locate the element inside the elements list (called DOM tree), and copy its ID. Note that not all elements necessarily have IDs.

Full View
How to find the ID of an element - Pay-Per-Post Plugin
How to find the ID of an element
Detail
ID of the element - WordPress Paywall Plugin
ID of the element

More Options

Also in this tab, you can set:

Reload Browser When Subscription Expires - If enabled, script will check in the background if the subscription is still active and reload the browser when it expires or user has been logged-out to disallow further reading post.

Allow Subscription Form for Guest User - If enabled, guest users (non-logged-in) will see a subscription form. They will them be able to log in during checkout.

Allowing / disallowing guest users to pay for access - Paywall Plugin WordPress
Allowing / disallowing guest users to pay for access

Learn more: WordPress Pay Per Post Plugin (CMPPP) - Settings - Subscriptions Settings (General Tab)

Restrict Part of The Content

You can also o restrict only sections of the content - for instance, the second and third paragraphs of a post.

If the user is not a subscriber, he/she will see a "Restricted Section" box instead of the locked content. A paybox will be triggered at the end of the content. This is done via a shortcode.

How to Use the Shortcode

Locking the content is easy. Simply surround it with the shortcode, as shown:

[cmppp_restricted] any content [/cmppp_restricted]

Example

You can use the shortcode many times in the same content.

Back-end

Back-end: Restricting part of the content - Best Paywall Plugin for WordPress
Back-end: Restricting part of the content

Front-end

Front-end: Restricting part of the content - WordPress Plugin Paywall
Front-end: Restricting part of the content

TIP: Customizing the Text

You can customize the text of the restricted section box

Examples of front-end labels - Paywalled Content
Examples of front-end labels

This is done via the labels settings → Restricted Shortcode section.

Editing the labels - Paywall Solutions for Publishers
Editing the labels

Elementor Limitation

When using the Elementor page builder, it's necessary to use this shortcode to block any page on top of assigning the post to a price (see How To - Assign a Post to a Price/Subscription (Video).

This limitation is due to Elementor not using the _content hook.

Learn more: WordPress Pay Per Post Plugin (CMPPP) - How To - Restrict Sections Of The Content (Shortcode)


Set Notifications for New Subscriptions

It's important to notify both the admin and users when new subscriptions are active. The WordPress Pay Per Post plugin always sends notifications to users and you can the admin alerts on or off.

Click on the Notifications tab.

Notifications settings - WordPress Pay Per Post Plugin
Notifications settings

1) For The Customer

Choose the email subject and message

Email notification template for the customer - Pay-Per-Post Plugin
Email notification template for the customer

2) For the Admin

Enable/disable, choose the email(s) to notify (separated by comma). Finally, also configure both subject and message.  

Email notification template for the admin - WordPress Paywall Plugin
Email notification template for the admin

Using Placeholders

In both cases (customer or admin) you can customize the email subject and template using placeholders:

  • Email subject 
    • [blogname] - WordPress defined bog name parameter
    • [postname] - WordPress defined post name.
    • [username] - The username which subscribed
    • [userlogin] - The WordPress user login
    • [startdate] - Subscription start date
    • [enddate] - Subscription end date
    • [duration] - Subscription duration
    • [points] - Points amount paid for subscription
  • Email body template
    • The same placeholders as above plus
      • [home] - Website home URL
      • [permalink] - The post URL

Learn more: WordPress Pay Per Post Plugin (CMPPP) - Settings - Notifications Settings


Admin View - Manage The Subscriptions

The admin can track all active subscriptions at any time.

Navigate to the Admin Dashboard → CM Pay Per Posts Pro → Subscriptions.

Navigation to the Subscriptions Dashboard - Paywall Plugin WordPress
Navigation to the Subscriptions Dashboard

This page displays the subscriptions that have been added. Subscriptions are listed by pricing group, post, user, start, end, duration, points and action.

Managing subscriptions - Best Paywall Plugin for WordPress
Managing subscriptions

TIP: Manual Subscription

Add New - Click the Add New button to add a new subscription to the page. This option support adding a subscription manually.  

You need to indicate a post which already have a pricing group assigned to it, indicate the username and the duration. Adding a manual subscription let you also add non paying users to the subscription.

Adding new subscription manually - WordPress Plugin Paywall
Adding new subscription manually

Letting Users Manage Their Subscriptions (Shortcode)

Each user can also view his active and past subscription. You need to create a page which includes the shortcode [cmppp-subscriptions] .

Shortcode for letting users manage their subscriptions - Paywalled Content
Shortcode for letting users manage their subscriptions

Front-End Example

User dashboard example - Paywall Solutions for Publishers
User dashboard example

Learn more:


Restrict Content Created With Other Plugins

With the WordPress Pay Per Post plugin, you can restrict any post type, even the ones managed by other plugins. This means that you can restrict content from other plugins if it uses said post types.

We Can't Guarantee Compatibility

Note that is a general rule. We cannot guarantee compatibility with all third-party plugins, as that involves code we don't control.

The technical requirements are:

  • Plugin must register post_types - To show the post type in Pay Per Post's settings
  • Plugin's custom type must be editable from the Back-End - To enable the subscription metabox
  • Plugin must use the "the_content" filter on the Front-End - Only this content will be restricted

Choosing Post Types to Restrict

Head to General tab → Post types section. There, choose which post types to support. 

This list fetches all post_types. If you can't find one related to a plugin, it means the plugin doesn't register its content as post_types.

Choosing post types to restrict - WordPress Pay Per Post Plugin
Choosing post types to restrict

Example: CM Tooltip Glossary

Users have to pay to access the whole term page of a term managed by the CM Tooltip Glossary plugin.

Term Page is Restricted

Example of restricting a third-party plugin post type - Pay-Per-Post Plugin
Example of restricting a third-party plugin post type

Learn more: WordPress Pay Per Post Plugin (CMPPP) - How To - Restrict Content From Other Plugins (Custom Post Types)


Translating Interface

The plugin allows you to translate or adapt the language shown to the users of your site. 

Head to Settings → Labels and edit all relevant text. 

Labels settings - WordPress Paywall Plugin
Labels settings

There are dozens of labels in the following categories

  • Pay Box
  • Subscription
  • Shortcode
  • Refund
  • Dates
  • Restrict copying content
  • Restricted Shortcode
  • Restrict Post Availability
  • Payments

Example

Example of translating the label - Paywall Plugin WordPress
Example of translating the label

TIP: Price Placeholder

The payment labels may, naturally, include the duration and price of the access.

To solve this, we use the placeholders %s for duration and .%.2f for price.   

Price placeholer - Best Paywall Plugin for WordPress

Price placeholer

The %.2f expression is special. 2f means there are two decimals. You can change it extensively.

Examples with the cost $2.15

Label Front-end result
$%.2f $2.15
$%.1f $2.1
$d% $2
USD %.2f USD 2.15
%d euros 2 euros

Learn more: Settings - Labels


Extras

Prevent Users From Copying Content

It's possible to restrict users from copying locked content. If the user tries to copy it, he/she will see a disclaimer message instead. 

Example

Preventing users from copying content - WordPress Plugin Paywall
Preventing users from copying content

Set Up

Under the "General" Tab, you will find the option "Restrict copying content". Mark yes

Enabling the option 'Prevent users from copying content' - Paywalled Content
Enabling the option 'Prevent users from copying content'

TIP: Modifying the Label

You can modify the text of this disclaimer in the Labels settings.

Changing the label - Paywall Solutions for Publishers
Changing the label

Learn more: WordPress Pay Per Post Plugin (CMPPP) - How To - Restrict Users From Copying Content


Restrict the Number of Purchases

You can restrict the number of purchases for your posts. This means that only a set number of users can make a purchase.

Set Up

To limit the number of users that can make the purchase, navigate to the plugin settings. Under the General tab, you can find the section Post Availability.

Post availability settings - WordPress Pay Per Post Plugin
Post availability settings

To activate, set the option Allow to set limit the post availability for users to Yes. Under Max user number limit, set the maximum number of users you want your post to be available for. Set the number above 0, because if you set it at 0 or below, there will be no limit.

If you want to show a message to your users once the maximum number has been reached, set Allow to set message with limit to Yes.

TIP: Modifying The Label

To set a custom message once the maximum number of users has been reached, from the labels tab. Under it, navigate to the Post Availability section. 

You can set a general message, or a message that states the number of buyers that have purchased your post. 

Post availability labels - Pay-Per-Post Plugin
Post availability labels

Example

Example of the restricted post with limited number of purchases - WordPress Paywall Plugin
Example of the restricted post with limited number of purchases

Showing Availability via Shortcode

You can show if a post is available or not to the current user by using the shortcode  [cmppp_availability postid="ID"]

ID should be replaced with the ID of the post. Learn how: General Support - WordPress - Finding ID of Post/Page/Other Content

Example

Showing post availability using shortcode - Paywall Plugin WordPress
Showing post availability using shortcode

Learn more: WordPress Pay Per Post Plugin (CMPPP) - How To - Restrict Number of Purchases


Elementor Page and Other Themes Troubleshooting

Quick Read

The plugin will not work or will require special settings when used together with themes that don't implement the "the_content" hook/filter. They are a minority.

So far, this has been reported in the Elementor Page Builder and some other themes.

Elementor Fix

To block a page that uses the Elementor page builder, it's necessary to both:

  1. Assign the post to a price (see How To - Assign a Post to a Price/Subscription (Video).
  2. Use the [cmppp_restricted] shortcode to block the relevant part of the content. Learn more: How To - Restrict Sections Of The Content (Shortcode)

Doing only one of the procedures will cause problems such as triggering the The Content Area Was Not Found in Your Page error. Learn more: The Content Area Was Not Found in Your Page - Docs | Elementor

Other Themes Fix

It's necessary to place the "the_content" hook/filter in the theme templates. 

This is an advanced procedure that should be handled preferably by your theme designer.

Adding the_content Snippet:

<?php

the_content();

?>

Resources:

TIP: Learn More About the_content

the_content | Hook | WordPress Developer Resources

Learn more: WordPress Pay Per Post Plugin (CMPPP) - Troubleshooting - Elementor Page Builder, Other Themes


Result

Below we show a page where users must pay to receive access.

Example

Before Payment

Example of the restricted post - Best Paywall Plugin for WordPress
Example of the restricted post

After Payment

Example of the post after paying for the access - WordPress Plugin Paywall
Example of the post after paying for the access

More information about the WordPress Pay Per Post Plugin

Other WordPress products can be found at CreativeMinds WordPress Store

Let us know how we can Improve this Product Documentation Page

To open a Support Ticket visit our support center
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.