{"id":116773,"date":"2020-03-04T16:45:45","date_gmt":"2020-03-04T16:45:45","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/expandable-paywall\/"},"modified":"2025-07-03T12:11:51","modified_gmt":"2025-07-03T12:11:51","slug":"expandable-paywall","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/expandable-paywall\/","author":89986,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.10","stable_tag":"2.1.10","tested":"6.8.5","requires":"3.8","requires_php":"8.3","requires_plugins":null,"header_name":"Expandable Paywall","header_author":"E-Moxie","header_description":"A simple paywall solution with integration with several third party providers","assets_banners_color":"719611","last_updated":"2025-07-03 12:11:51","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_donations&business=mattpram%40gmail%2ecom","header_plugin_uri":"https:\/\/pramadillo.com\/plugins\/expandble-paywall","header_author_uri":"https:\/\/emoxie.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":4178,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"mattpramschufer","date":"2020-03-04 16:45:37"},"1.1.2":{"tag":"1.1.2","author":"mattpramschufer","date":"2020-03-04 20:10:03"},"1.1.3":{"tag":"1.1.3","author":"mattpramschufer","date":"2020-08-06 17:03:13"},"2.0.0":{"tag":"2.0.0","author":"mattpramschufer","date":"2021-02-22 20:14:22"},"2.0.1":{"tag":"2.0.1","author":"mattpramschufer","date":"2021-02-25 15:23:20"},"2.0.10":{"tag":"2.0.10","author":"mattpramschufer","date":"2022-03-01 20:11:16"},"2.0.11":{"tag":"2.0.11","author":"mattpramschufer","date":"2022-03-18 12:40:06"},"2.0.12":{"tag":"2.0.12","author":"mattpramschufer","date":"2022-08-31 12:14:52"},"2.0.13":{"tag":"2.0.13","author":"mattpramschufer","date":"2022-09-15 15:10:55"},"2.0.14":{"tag":"2.0.14","author":"mattpramschufer","date":"2022-09-15 15:51:52"},"2.0.15":{"tag":"2.0.15","author":"mattpramschufer","date":"2022-10-14 18:56:05"},"2.0.16":{"tag":"2.0.16","author":"mattpramschufer","date":"2022-10-27 15:45:59"},"2.0.17":{"tag":"2.0.17","author":"mattpramschufer","date":"2023-07-05 13:19:17"},"2.0.18":{"tag":"2.0.18","author":"mattpramschufer","date":"2023-11-06 18:13:01"},"2.0.19":{"tag":"2.0.19","author":"mattpramschufer","date":"2023-11-09 14:13:03"},"2.0.20":{"tag":"2.0.20","author":"mattpramschufer","date":"2023-11-22 14:59:58"},"2.0.21":{"tag":"2.0.21","author":"mattpramschufer","date":"2024-01-12 19:22:49"},"2.0.22":{"tag":"2.0.22","author":"mattpramschufer","date":"2024-01-12 18:43:27"},"2.0.23":{"tag":"2.0.23","author":"mattpramschufer","date":"2024-01-21 15:42:54"},"2.0.4":{"tag":"2.0.4","author":"mattpramschufer","date":"2021-04-02 16:16:43"},"2.0.5":{"tag":"2.0.5","author":"mattpramschufer","date":"2021-04-21 17:03:30"},"2.0.6":{"tag":"2.0.6","author":"mattpramschufer","date":"2021-04-27 21:24:25"},"2.0.7":{"tag":"2.0.7","author":"mattpramschufer","date":"2021-05-03 19:29:03"},"2.0.8":{"tag":"2.0.8","author":"mattpramschufer","date":"2021-07-13 14:02:59"},"2.0.9":{"tag":"2.0.9","author":"mattpramschufer","date":"2022-01-25 15:18:42"},"2.1.0":{"tag":"2.1.0","author":"mattpramschufer","date":"2024-06-20 12:07:44"},"2.1.1":{"tag":"2.1.1","author":"mattpramschufer","date":"2024-06-20 13:27:06"},"2.1.10":{"tag":"2.1.10","author":"mattpramschufer","date":"2025-07-03 12:11:51"},"2.1.2":{"tag":"2.1.2","author":"mattpramschufer","date":"2024-06-19 19:19:06"},"2.1.3":{"tag":"2.1.3","author":"mattpramschufer","date":"2024-06-20 14:19:10"},"2.1.4":{"tag":"2.1.4","author":"mattpramschufer","date":"2024-08-02 16:41:21"},"2.1.5":{"tag":"2.1.5","author":"mattpramschufer","date":"2025-02-09 23:34:00"},"2.1.6":{"tag":"2.1.6","author":"mattpramschufer","date":"2025-06-09 13:31:17"},"2.1.7":{"tag":"2.1.7","author":"mattpramschufer","date":"2025-06-19 15:37:10"},"2.1.8":{"tag":"2.1.8","author":"mattpramschufer","date":"2025-06-20 12:45:09"},"2.1.9":{"tag":"2.1.9","author":"mattpramschufer","date":"2025-07-02 18:54:40"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2481557,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2481557,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2479365,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2481565,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1","1.1.2","1.1.3","2.0.0","2.0.1","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.18","2.0.19","2.0.20","2.0.21","2.0.22","2.0.23","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.1.1","2.1.10","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2254365,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2254365,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Admin Screen (Basic Paywall &amp; Auth)","2":"Admin Screen (Basic Paywall)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[228718,182652,40040,12688,228719],"plugin_category":[],"plugin_contributors":[195361,81534],"plugin_business_model":[],"class_list":["post-116773","plugin","type-plugin","status-publish","hentry","plugin_tags-cambey","plugin_tags-external-authentication","plugin_tags-metered-paywall","plugin_tags-paywall","plugin_tags-remote-authentication","plugin_contributors-emoxie","plugin_contributors-mattpramschufer","plugin_committers-mattpramschufer"],"banners":{"banner":"https:\/\/ps.w.org\/expandable-paywall\/assets\/banner-772x250.png?rev=2481565","banner_2x":"https:\/\/ps.w.org\/expandable-paywall\/assets\/banner-1544x500.png?rev=2479365","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/expandable-paywall\/assets\/icon-128x128.png?rev=2481557","icon_2x":"https:\/\/ps.w.org\/expandable-paywall\/assets\/icon-256x256.png?rev=2481557","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/expandable-paywall\/assets\/screenshot-1.png?rev=2254365","caption":"Admin Screen (Basic Paywall &amp; Auth)"},{"src":"https:\/\/ps.w.org\/expandable-paywall\/assets\/screenshot-2.png?rev=2254365","caption":"Admin Screen (Basic Paywall)"}],"raw_content":"<!--section=description-->\n<p>The Expandable Paywall plugin offers a robust solution for implementing paywalls on WordPress sites. Its core functionality includes a simple hard paywall using native WordPress authentication. The plugin is uniquely designed to integrate with various circulation fulfillment providers, making it ideal for magazine publishers. Premium add-ons expand its capabilities, supporting multiple paywall types, authentication methods, and advanced reporting features.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Activate the plugin through the <code>Plugins<\/code> menu in WordPress<\/li>\n<li>Browse to Admin-&gt;Expandable Paywall<\/li>\n<li>You can find out more on how to install by visiting <a href=\"https:\/\/pramadillo.com\/documentation\/expandable-paywall\/\">https:\/\/pramadillo.com\/documentation\/expandable-paywall\/<\/a><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='do%20you%20offer%20installation%20and%20customization%20services%3F'><h3>Do you offer installation and customization services?<\/h3><\/dt>\n<dd><p>Yes, if you need help with installation and\/or would like additional customization work done for your website, you can fill out a request form at <a href=\"https:\/\/emoxie.com\/contact\">https:\/\/emoxie.com\/contact<\/a><\/p><\/dd>\n<dt id='i%20wish%20this%20plugin%20had%20xzy%20feature'><h3>I wish this plugin had XZY feature<\/h3><\/dt>\n<dd><p>While I try to do my best to incorporate new features all the time, I implemented a new Feature Request board located at <a href=\"https:\/\/emoxie.com\/contact\">https:\/\/emoxie.com\/contact<\/a><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>=2.1.10=\n* UPDATE - Login Form redirects with cache busting parameter.<\/p>\n\n<p>=2.1.9=\n* UPDATE - Login Form shortcode now redirects back to page you were on when logging in<\/p>\n\n<p>=2.1.8=\n* BUGFIX - Removed Debugging Code<\/p>\n\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>BUGFIX - Fixed load_plugin_textdomain PHP Notice<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>UPDATE - Updated all third-party vendor packages<\/li>\n<li>UPDATE - Added new filter for controlling when to show show_authentication_role_paid<\/li>\n<\/ul>\n\n<h4>2.1.5<\/h4>\n\n<ul>\n<li>UPDATE - Updated all third-party vendor packages<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>UPDATE - Excluded the search screen from paywall trigger<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>UPDATE - Add stub function back into public class for extendability<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>BUGFIX - Fixed issue with 500 error when trying to create a new user on specific installs<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>HOTFIX - Corrected logic for displaying paywall<\/li>\n<li>UPDATE - Added in new helper functions<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>UPDATE - Updated all third party libraries to latest versions<\/li>\n<li>UPDATE - Refactored all code to PHP 8.1 standards<\/li>\n<li>UPDATE - Added many more functions to core Helper class<\/li>\n<li>BUGFIX - Fixed PHP warning on login.php template<\/li>\n<\/ul>\n\n<p>=2.0.23 =\n* BUGFIX - Fixed issue with protecting categories and sub categories on some installs.<\/p>\n\n<p>=2.0.22 =\n* UPDATE - Added in new helper function to check if we should show paid authentication user role.\n* UPDATE - Added function to clear logs<\/p>\n\n<p>=2.0.21 =\n* UPDATE - Paywall Category now allows for any sub category under the main protected category to automatically be protected.\n* UPDATE - Added option to disable paywall.<\/p>\n\n<p>=2.0.20 =\n* FEATURE - Added whole new logging section<\/p>\n\n<p>=2.0.19 =\n* UPDATE - Updated addon on handling and vendor paths.<\/p>\n\n<h4>2.0.18<\/h4>\n\n<ul>\n<li>UPDATE - Updated all third-party vendor libraries<\/li>\n<li>BUG FIX - Fixed issue where protected content could not be seen by some users.<\/li>\n<\/ul>\n\n<h4>2.0.17<\/h4>\n\n<ul>\n<li>UPDATE - Updated all third-party vendor libraries<\/li>\n<\/ul>\n\n<h4>2.0.16<\/h4>\n\n<ul>\n<li>Feature - Added in meta box to posts that will generate a unique bypass link for articles to not show paywall.<\/li>\n<\/ul>\n\n<h4>2.0.15<\/h4>\n\n<ul>\n<li>Feature - Added in new filter for allowing to programmatically bypass paywall<\/li>\n<\/ul>\n\n<h4>2.0.14<\/h4>\n\n<ul>\n<li>UPDATE - Updated logic for when locks appear on articles<\/li>\n<li>Feature - Upon logging in the user will now be redirected back to where they were with ?cache_busting=RANDOM<\/li>\n<\/ul>\n\n<h4>2.0.13<\/h4>\n\n<ul>\n<li>BUG FIX - Fixed item with archives not being excluded from protection level.<\/li>\n<\/ul>\n\n<h4>2.0.12<\/h4>\n\n<ul>\n<li>UPDATE - Updated to the latest version of Freemius.<\/li>\n<li>BUG FIX - Fixed bug where roles were not being read in certain instances.<\/li>\n<li>BUG FIX - Fixed bug where Locks were not showing when enabled.<\/li>\n<li>UPDATE - Added more error reporting options to error_log<\/li>\n<\/ul>\n\n<h4>2.0.11<\/h4>\n\n<ul>\n<li>UPDATE - When debug is turned on it will send email to site admin.<\/li>\n<\/ul>\n\n<h4>2.0.10<\/h4>\n\n<ul>\n<li>UPDATE - Updated vendor libraries<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>UPDATE - Added in new shortcode to protect pieces of content on any page\/post.  [expandable-paywall-protect] Protected Content [\/expandable-paywall-protect]<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>UPDATE - Updated all vendor libraries<\/li>\n<li>UPDATE - Code Cleanup and Refactoring<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>UPDATE - Added in debug mode<\/li>\n<li>UPDATE - Added in new filter to allow set basic role<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>BUG FIX - updated authentication to account for case-sensitivity in<\/li>\n<li>UPDATE - removed erroneous error_logging. :)<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>BUG FIX - corrected issue with the Lock icon showing up on non-protected pages.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>FEATURE - Added ability to display a lock icon next to protected posts<\/li>\n<li>FEATURE - Added ability to fade out excerpt into paywall.<\/li>\n<li>FEATURE - Added ability to output Schema Structured Data.<\/li>\n<li>UPDATE - Updated to latest version of Freemius SDK<\/li>\n<li>UPDATE - Added a logging function to helper files.<\/li>\n<li>UPDATE - Added in more support for multisite installs<\/li>\n<li>UPDATE - Added in default styles to fade out the excerpt text<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>FEATURE - Added in logout shortcode<\/li>\n<li>UPDATE - Updated Paywall CSS Styles<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>BUG FIX - Corrected improper function calls when initially installing.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Reworked a ton of filters and hooks.  Updated all latest 3rd party SDKs<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>BUG FIX - Corrected issue which registration would throw a 500 error behind the scenes.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>BUG FIX - Corrected issues with data sanitization.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Initial Version<\/li>\n<\/ul>","raw_excerpt":"A paywall solution that can be easily expanded with integration with several third party providers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/116773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=116773"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mattpramschufer"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=116773"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=116773"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=116773"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=116773"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=116773"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=116773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}