Quickly and easily sell access to pages, posts and custom post types through WooCommerce with Pay For Post with WooCommerce. I originally created this plugin because I looked everywhere, and I couldn’t find a plugin already out there, free or premium, that would do the simple fact of selling access to a particular page or post through WooCommerce. So I decided to write my own.
Requirements
WooCommerce version 2.6+ to be installed and active
Guest checkout to be turned OFF
PHP 7.4+ is required
How It Works
Getting everything setup will take you less than 5 minutes with three simple steps.
Step 1 Create a product in WooCommerce
Step 2 Create a page or post in WordPress
Step 3 Associate your product with your page using the Pay For Post with WooCommerce meta box.
It’s that simple.
With the Premium version, you have several other options for protecting content like, time based, number of page views, etc.
Restrict content from pages, posts and custom post types based on if they have purchased a specific WooCommerce product
Ability to protect a single post or multiple posts with a single product
Ability to protect posts with multiple products
Simple to use
Uses native WooCommerce functionality to ensure future compatibility
Global restricted content message which is used for all protected content
Utilize any standard WooCommerce shortcodes
PREMIUM ONLY Ability to override Restricted Content Message on a per page basis
PREMIUM ONLY Delay Restriction – This allows you to delay the paywall from appearing for a set amount of time.
PREMIUM ONLY Page View Restriction – This allows you to limit the number of page views the user who purchased this product has before the paywall reappears. Options to specify over a set amount of time or forever.
PREMIUM ONLY Expiry Restriction – This allows you to specify an expiration on this post which would require the user to repurchase the product associated with this post.
PREMIUM ONLY Custom WooCommerce tab on the My Account page to list out all purchased content
PREMIUM ONLY Listing of purchased content on order receipt and order confirmation page
PREMIUM ONLY PolyLang Multiple Language support
PREMIUM ONLY Priority Support
PREMIUM ONLY Woo Memberships Support!
PREMIUM ONLY Woo Subscriptions Support!
PREMIUM ONLY Easily access all protected content and which users purchased them
PREMIUM ONLY Automatically add a lock icon to all protected posts
PREMIUM ONLY Show a list of content that gets unlocked by purchased product on product page.
PREMIUM ONLY Full Elementor Support. You can now protect every element differently on an Elementor page!
The premium version of this plugin consists of more advanced features to really get the most out of selling your pages and posts! To purchase the premium version please visit https://pramadillo.com/plugins/woocommerce-pay-per-post/
Shortcodes
[woocommerce-payperpost template='purchased']
This outputs an unordered list of the posts that have been purchased by the current user logged in.
IMPORTANT Out of the box this plugin will work with any theme which uses the standard WordPress function the_content(). For those themes that do not utilize the_content() you can use the following static functions in your templates.
Woocommerce_Pay_Per_Post_Helper::has_access()
This checks if the current user has access to the page. It returns true/false