Pay For Post with WooCommerce Security & Risk Analysis

wordpress.org/plugins/woocommerce-pay-per-post

Sell Pages/Posts through WooCommerce 2.6+ quickly and easily. Tested up to WooCommerce Version 10.4.x

1K active installs v3.2.33 PHP 7.4+ WP 3.8+ Updated Jan 21, 2026
pay-for-postpayforpostsell-contentwoocommerce
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Pay For Post with WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Pay For Post with WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The "woocommerce-pay-per-post" plugin v3.2.33 presents a generally positive security posture with no known critical vulnerabilities or historical CVEs. The static analysis reveals good practices like the absence of unprotected entry points and a significant number of capability checks, indicating an effort to secure sensitive operations. The presence of nonce checks also contributes to a more secure foundation.

However, there are areas for concern. The use of the "unserialize" function three times is a notable risk, as unserialization of untrusted data can lead to arbitrary code execution. While taint analysis found no flows, this doesn't negate the inherent danger of this function if not used with extreme caution and strict input validation. Furthermore, only 55% of output escaping is properly done, which could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is not handled safely in the remaining 45% of outputs.

The plugin's vulnerability history, or lack thereof, is a strength, suggesting responsible development and maintenance. However, the static code analysis findings, particularly the use of "unserialize" and imperfect output escaping, highlight potential weaknesses that could be exploited. A balanced view acknowledges the plugin's good foundations but emphasizes the critical need to review and secure the identified "unserialize" usages and improve output escaping practices.

Key Concerns

  • Dangerous function: unserialize used
  • Output escaping: only 55% properly escaped
Vulnerabilities
None known

Pay For Post with WooCommerce Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Pay For Post with WooCommerce Code Analysis

Dangerous Functions
3
Raw SQL Queries
9
15 prepared
Unescaped Output
74
89 escaped
Nonce Checks
10
Capability Checks
2
File Operations
50
External Requests
1
Bundled Libraries
3

Dangerous Functions Found

unserialize$instance = @unserialize((string) $value);vendor-prefixed\nesbot\carbon\src\Carbon\Traits\Serialization.php:89
unserializeparent::__construct($date, unserialize($timezone));vendor-prefixed\nesbot\carbon\src\Carbon\Traits\Serialization.php:199
unserialize$this->__construct($date, unserialize($timezone));vendor-prefixed\nesbot\carbon\src\Carbon\Traits\Serialization.php:237

Bundled Libraries

DataTablesSelect2Freemius1.0

SQL Query Safety

63% prepared24 total queries

Output Escaping

55% escaped163 total outputs
Attack Surface

Pay For Post with WooCommerce Attack Surface

Entry Points3
Unprotected0

Shortcodes 3

[wc-pay-for-post-status] public\class-woocommerce-pay-per-post-restrict-content.php:71
[woocommerce-payperpost] public\class-woocommerce-pay-per-post-shortcodes.php:10
[wc-pay-for-post] public\class-woocommerce-pay-per-post-shortcodes.php:11
WordPress Hooks 38
actionenqueue_block_editor_assetsadmin\class-woocommerce-pay-per-post-admin.php:50
actionadmin_noticesadmin\class-woocommerce-pay-per-post-admin.php:64
actioninitincludes\class-woocommerce-pay-per-post.php:22
actioninitincludes\class-woocommerce-pay-per-post.php:23
actionadmin_menuincludes\class-woocommerce-pay-per-post.php:24
actionadmin_noticesincludes\class-woocommerce-pay-per-post.php:25
actionadmin_enqueue_scriptsincludes\class-woocommerce-pay-per-post.php:26
actionadmin_enqueue_scriptsincludes\class-woocommerce-pay-per-post.php:27
actionadmin_headincludes\class-woocommerce-pay-per-post.php:28
actionadd_meta_boxesincludes\class-woocommerce-pay-per-post.php:29
actionsave_postincludes\class-woocommerce-pay-per-post.php:30
actionedit_attachmentincludes\class-woocommerce-pay-per-post.php:31
actionin_plugin_update_message-woocommerce-pay-per-post/woocommerce-pay-per-post.phpincludes\class-woocommerce-pay-per-post.php:32
filterplugin_action_links_woocommerce-pay-per-post/woocommerce-pay-per-post.phpincludes\class-woocommerce-pay-per-post.php:49
actioninitincludes\class-woocommerce-pay-per-post.php:60
actiontemplate_redirectincludes\class-woocommerce-pay-per-post.php:61
actiontemplate_redirectincludes\class-woocommerce-pay-per-post.php:62
filterthe_contentincludes\class-woocommerce-pay-per-post.php:63
actioninitincludes\class-woocommerce-pay-per-post.php:90
actioninitintegrations\elementor\Elementor.php:35
actionadmin_noticesintegrations\elementor\Elementor.php:42
actionadmin_noticesintegrations\elementor\Elementor.php:49
filterelementor/frontend/builder_content_dataintegrations\elementor\Elementor.php:63
filterelementor/frontend/section/should_renderintegrations\elementor\Elementor.php:64
filterelementor/frontend/column/should_renderintegrations\elementor\Elementor.php:65
filterelementor/frontend/widget/should_renderintegrations\elementor\Elementor.php:66
actionelementor/element/after_section_endintegrations\elementor\Elementor.php:68
actionelementor/frontend/after_renderintegrations\elementor\Elementor.php:69
actionelementor/editor/after_enqueue_stylesintegrations\elementor\Elementor.php:70
actionelementor/editor/after_enqueue_scriptsintegrations\elementor\Elementor.php:71
actionelementor/frontend/the_contentintegrations\elementor\Elementor.php:98
filterwc_pay_per_post_enable_javascript_expiration_refreshintegrations\woocommerce-memberships\WooCommerceMemberships.php:78
filtercomments_openpublic\class-woocommerce-pay-per-post-public.php:54
filterget_comments_numberpublic\class-woocommerce-pay-per-post-public.php:55
filtercomments_openpublic\class-woocommerce-pay-per-post-public.php:139
filterplugin_iconwoocommerce-pay-per-post.php:95
actionafter_uninstallwoocommerce-pay-per-post.php:99
actionbefore_woocommerce_initwoocommerce-pay-per-post.php:109
Maintenance & Trust

Pay For Post with WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.0
Last updatedJan 21, 2026
PHP min version7.4
Downloads110K

Community Trust

Rating94/100
Number of ratings53
Active installs1K
Developer Profile

Pay For Post with WooCommerce Developer Profile

Matt Pramschufer

7 plugins · 1K total installs

87
trust score
Avg Security Score
90/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Pay For Post with WooCommerce

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/woocommerce-pay-per-post/admin/css/admin-main.css/wp-content/plugins/woocommerce-pay-per-post/admin/css/font-awesome.min.css/wp-content/plugins/woocommerce-pay-per-post/admin/js/admin-main.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-public.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-admin-metabox.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-elementor-editor.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-admin-settings.js
Script Paths
/wp-content/plugins/woocommerce-pay-per-post/admin/js/admin-main.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-public.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-admin-metabox.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-elementor-editor.js/wp-content/plugins/woocommerce-pay-per-post/includes/js/wcppp-admin-settings.js
Version Parameters
woocommerce-pay-per-post/admin/css/admin-main.css?ver=woocommerce-pay-per-post/admin/js/admin-main.js?ver=woocommerce-pay-per-post/includes/js/wcppp-public.js?ver=woocommerce-pay-per-post/includes/js/wcppp-admin-metabox.js?ver=woocommerce-pay-per-post/includes/js/wcppp-elementor-editor.js?ver=woocommerce-pay-per-post/includes/js/wcppp-admin-settings.js?ver=

HTML / DOM Fingerprints

CSS Classes
wc_pay_per_post_formwcppp-admin-form-containerwcppp-metabox-contentwcppp-metabox-fieldwcppp-elementor-editor-wrapper
HTML Comments
<!-- Initialize Pay For Post Admin Metabox --><!-- WC Pay Per Post Admin Settings --><!-- WC Pay Per Post Metabox --><!-- WC Pay Per Post Elementor Editor -->
Data Attributes
data-wcppp-post-iddata-wcppp-actiondata-wcppp-noncedata-wcppp-elementor-id
JS Globals
window.wcppp_admin_paramswindow.wcppp_public_paramswindow.wcppp_elementor_editor_params
REST Endpoints
/wp-json/wcppp/v1/get_post_access/wp-json/wcppp/v1/grant_access
Shortcode Output
[wcppp_purchase_form][wcppp_purchase_button][wcppp_content_restrictions]
FAQ

Frequently Asked Questions about Pay For Post with WooCommerce