ACS Content for WooCommerce turns any post or page into a paid article. Write as usual, drop a Paid Area block where the free preview should end, set a price, and everything below it is sold through the WooCommerce checkout you already have.
Readers do not need a WordPress account. They pay, they read. Access is tied to the email address used at checkout, so the same purchase works on a phone and a laptop.
Hosted platforms take a cut of every sale and own the reader relationship. Here, the sale happens in your own store:
Paid Area block
* Everything after the block is sold; everything before it is the free preview
* The paid text is removed from the response for readers who have not bought — it is never merely hidden with CSS, and it does not leak through the RSS feed, the auto-generated excerpt, or the REST API
* A soft fade and a single call-to-action button. One action, no clutter
* Price, button label, and headline can be set per article or site-wide
Tip Jar block
* Readers choose from an amount set you define and pay in the same checkout
* Useful on free articles, at the end of paid ones, or both
Access without accounts
* Access is granted to the email address on the order
* A signed cookie remembers the reader on that device
* Readers who switch devices or clear cookies can request a one-time access link by email, from a link inside the paywall box
Sales dashboard
* Scorecards for today, this month, and all time, plus a daily revenue graph
* A list of every paid item with inline price editing
* A sales report with period segments and CSV export
* A buyer list with masked email addresses, manual grants, revokes, and resend
Coupons that only apply to your content
* Discounts scoped to specific paid articles, so a content coupon cannot be spent on the rest of your shop
Refund aware
* Refunding an order in WooCommerce revokes the reader’s access automatically, and the sale drops out of the reports
This plugin is deliberately non-invasive. It never writes to your WooCommerce settings, and it never changes checkout for orders that do not contain one of its own items:
Buyer email addresses are stored in a table belonging to this plugin so that access can be checked without a user account. The plugin registers with the WordPress personal data exporter and eraser, so a data request covers this data too. Nothing is ever sent off-site.
This plugin does not connect to any external service. It sends no data off your server, requires no API key, and performs no license check.