{"id":344856,"date":"2026-07-24T10:00:47","date_gmt":"2026-07-24T10:00:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/subportal-subscription-customer-portal-for-woocommerce\/"},"modified":"2026-10-03T17:20:31","modified_gmt":"2026-10-03T17:20:31","slug":"subportal","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/subportal\/","author":23570904,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.4","stable_tag":"1.1.4","tested":"7.1.3","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"SubPortal \u2013 Subscription Customer Portal for WooCommerce","header_author":"The WP Garden","header_description":"Customer self-service portal for WooCommerce Subscriptions: skip, pause, resume, cancel with reasons, and edit addresses from My Account.","assets_banners_color":"f5f4fc","last_updated":"2026-10-03 17:20:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/thewpgarden.com\/plugins\/subportal\/","header_author_uri":"https:\/\/thewpgarden.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":408,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"giannis4","date":"2026-07-24 10:00:28","revision":3621048},"1.1.1":{"tag":"1.1.1","author":"giannis4","date":"2026-08-06 08:26:21","revision":3636313},"1.1.2":{"tag":"1.1.2","author":"giannis4","date":"2026-08-06 08:26:21","revision":3636313},"1.1.3":{"tag":"1.1.3","author":"giannis4","date":"2026-08-26 11:56:26","revision":3666919},"1.1.4":{"tag":"1.1.4","author":"giannis4","date":"2026-10-03 17:20:31","revision":3726535}},"upgrade_notice":{"1.1.1":"<p>Adds a Settings link to the plugin row on the Plugins screen.<\/p>","1.1.0":"<p>Dashboard cards now show per-item rows with product images, and after any action the page returns you to the card you acted on.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128-128.png":{"filename":"icon-128-128.png","revision":3621048,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256-256.png":{"filename":"icon-256-256.png","revision":3621048,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512-512.png":{"filename":"icon-512-512.png","revision":3621048,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500-rtl.jpg":{"filename":"banner-1544x500-rtl.jpg","revision":3621048,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3621048,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-rtl.jpg":{"filename":"banner-772x250-rtl.jpg","revision":3621048,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3621048,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.1.2","1.1.3","1.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3621048,"resolution":"1","location":"assets","locale":"","width":926,"height":515},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3621048,"resolution":"2","location":"assets","locale":"","width":918,"height":582},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3621048,"resolution":"3","location":"assets","locale":"","width":934,"height":615},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3621048,"resolution":"4","location":"assets","locale":"","width":1734,"height":960}},"screenshots":{"1":"The subscriptions dashboard in My Account, with skip, pause, edit address and cancel on every card.","2":"Pausing a subscription: quick presets or a chosen date, resumed automatically.","3":"Cancel with a reason: the customer picks why before the subscription ends.","4":"The SubPortal settings under WooCommerce &gt; Settings, with a toggle per feature."}},"plugin_section":[],"plugin_tags":[18057,21918,72256,4079,144558],"plugin_category":[41],"plugin_contributors":[126224,281730],"plugin_business_model":[],"class_list":["post-344856","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-portal","plugin_tags-my-account","plugin_tags-subscription-management","plugin_tags-subscriptions","plugin_tags-woocommerce-subscriptions","plugin_category-communication","plugin_contributors-giannis4","plugin_contributors-thewpgarden","plugin_committers-giannis4","plugin_committers-thewpgarden"],"banners":{"banner":"https:\/\/ps.w.org\/subportal\/assets\/banner-772x250.jpg?rev=3621048","banner_2x":"https:\/\/ps.w.org\/subportal\/assets\/banner-1544x500.jpg?rev=3621048","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/subportal\/assets\/icon-128-128.png?rev=3621048","icon_2x":"https:\/\/ps.w.org\/subportal\/assets\/icon-256-256.png?rev=3621048","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/subportal\/assets\/screenshot-1.jpg?rev=3621048","caption":"The subscriptions dashboard in My Account, with skip, pause, edit address and cancel on every card."},{"src":"https:\/\/ps.w.org\/subportal\/assets\/screenshot-2.jpg?rev=3621048","caption":"Pausing a subscription: quick presets or a chosen date, resumed automatically."},{"src":"https:\/\/ps.w.org\/subportal\/assets\/screenshot-3.jpg?rev=3621048","caption":"Cancel with a reason: the customer picks why before the subscription ends."},{"src":"https:\/\/ps.w.org\/subportal\/assets\/screenshot-4.jpg?rev=3621048","caption":"The SubPortal settings under WooCommerce &gt; Settings, with a toggle per feature."}],"raw_content":"<!--section=description-->\n<p><strong>SubPortal<\/strong> turns the <strong>WooCommerce Subscriptions My Account<\/strong> area into a full <strong>self-service portal<\/strong>.<\/p>\n\n<p>Customers <strong>handle routine requests in a minute instead of contacting support<\/strong>, and every change leaves a note on the subscription so your team can see exactly what happened.<\/p>\n\n<p>Fewer tickets, fewer silent cancellations, longer-running subscriptions.<\/p>\n\n<p><strong>Requires:<\/strong> <a href=\"https:\/\/wordpress.org\/plugins\/woocommerce\/\">WooCommerce<\/a> and <a href=\"https:\/\/woocommerce.com\/products\/woocommerce-subscriptions\/\">WooCommerce Subscriptions<\/a>.<\/p>\n\n<p><strong>Works with:<\/strong> High-Performance Order Storage (HPOS) and the standard WooCommerce My Account pages.<\/p>\n\n<h4>What customers can do<\/h4>\n\n<p>\u23ed\ufe0f <strong>Skip the next order<\/strong> - move the upcoming renewal one billing interval forward, leaving the rest of the schedule untouched.<\/p>\n\n<p>\u23f8\ufe0f <strong>Pause and resume<\/strong> - pause until a chosen date (with quick presets) or indefinitely; a scheduled resume reactivates the subscription automatically, and billing continues one full interval after resuming.<\/p>\n\n<p>\ud83d\udcac <strong>Cancel with a reason<\/strong> - customers choose a cancellation reason, with room for details, so you learn why subscribers leave.<\/p>\n\n<p>\ud83c\udfe0 <strong>Edit addresses<\/strong> - update a subscription's billing or shipping address, with an optional \"apply to all my subscriptions\" checkbox.<\/p>\n\n<p>\ud83d\udce6 <strong>See related orders<\/strong> - every subscription card shows its latest order and links to the full history.<\/p>\n\n<h4>The case for self-service<\/h4>\n\n<ul>\n<li><strong>79% of consumers want the option to pause<\/strong> before they even sign up, and 58% paused a subscription instead of canceling in the past year (Chargebee Global Consumer Insights Report).<\/li>\n<li>Stores that offer pausing save an average of <strong>9.6% of subscriptions that would otherwise cancel<\/strong> (Recharge, data from 1,700+ merchants).<\/li>\n<li><strong>81% of customers try to sort things out themselves<\/strong> before they contact support (Harvard Business Review).<\/li>\n<\/ul>\n\n<p>For a subscriber who can't skip one delivery, canceling the whole subscription is often the path of least resistance. A skip button keeps that customer.<\/p>\n\n<h4>What you control<\/h4>\n\n<ul>\n<li>Enable or disable each feature - dashboard, skip, pause, cancel, address editing - from WooCommerce &gt; Settings &gt; SubPortal.<\/li>\n<li>Cap how far into the future customers can pause.<\/li>\n<\/ul>\n\n<h4>Built for real stores<\/h4>\n\n<p>\ud83d\udd12 Every action is validated server-side on every request: ownership, subscription status, and payment-gateway support - never just hidden buttons.<\/p>\n\n<p>\ud83d\udcdd Every action writes an order note and an entry in a dedicated WooCommerce log source.<\/p>\n\n<p>\u26a1 Compatible with High-Performance Order Storage (HPOS).<\/p>\n\n<p>\ud83c\udfa8 Templates are overridable from your theme the standard WooCommerce way.<\/p>\n\n<h4>Documentation and support<\/h4>\n\n<p>\ud83d\udcd6 <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/\">Documentation<\/a>: setup and a guide for every feature, from <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/skip-the-next-order\/\">skipping the next order<\/a> to <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/pause-and-resume\/\">pause and resume<\/a> and <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/cancel-with-a-reason\/\">cancel with a reason<\/a>.<\/p>\n\n<p>\ud83d\udedf <a href=\"https:\/\/wordpress.org\/support\/plugin\/subportal\/\">Support forum<\/a>: questions and bug reports. We answer every topic.<\/p>\n\n<p>\u2709\ufe0f <a href=\"https:\/\/thewpgarden.com\/contact-us\/\">Contact us<\/a>: anything that is not a support question.<\/p>\n\n<h4>Like it?<\/h4>\n\n<p>A <a href=\"https:\/\/wordpress.org\/support\/plugin\/subportal\/reviews\/#new-post\">5-star review<\/a> is the most useful thing you can do for a small plugin. It takes a minute and helps other store owners find it.<\/p>\n\n<h4>More from The WP Garden<\/h4>\n\n<p>SubPortal is made and maintained by <a href=\"https:\/\/thewpgarden.com\/\">The WP Garden<\/a>, small focused plugins for WooCommerce, BuddyPress and WordPress.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/terms-and-conditions-per-product\/\">Terms and Conditions per Product<\/a>: a required Terms checkbox per product.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/checkout-guard\/\">Checkout Guard<\/a>: block fake and spam orders at checkout.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/bp-pinned-feed-notices\/\">Pinned Feed Notices<\/a>: pinned announcements on the BuddyPress activity feed.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/bp-block-member-posting\/\">Block Member Posting<\/a>: stop chosen members posting on BuddyPress.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/peters-post-notes\/\">Peter's Post Notes<\/a>: admin notes on posts and pages.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In your WordPress admin, go to <strong>Plugins &gt; Add New Plugin<\/strong>, search for \"SubPortal\", then click <strong>Install Now<\/strong> and <strong>Activate<\/strong>.<\/li>\n<li>WooCommerce and WooCommerce Subscriptions must be installed and active.<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; SubPortal<\/strong> and choose which features your customers can use.<\/li>\n<\/ol>\n\n<p>The <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/requirements-and-setup\/\">requirements and setup guide<\/a> walks through the same steps in detail.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20subportal%20require%3F\"><h3>What does SubPortal require?<\/h3><\/dt>\n<dd><p>WooCommerce and WooCommerce Subscriptions.<\/p><\/dd>\n<dt id=\"can%20customers%20bypass%20the%20rules%3F\"><h3>Can customers bypass the rules?<\/h3><\/dt>\n<dd><p>No. SubPortal re-checks every request on the server: who owns the subscription, its current status, and whether the payment gateway supports the change.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20individual%20features%3F\"><h3>Can I disable individual features?<\/h3><\/dt>\n<dd><p>Yes. Dashboard, skip, pause, cancel, and address editing each have their own toggle under WooCommerce &gt; Settings &gt; SubPortal.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>SubPortal renders inside the normal My Account pages, and you can override its templates from your theme the standard WooCommerce way.<\/p><\/dd>\n<dt id=\"how%20do%20i%20see%20what%20a%20customer%20changed%3F\"><h3>How do I see what a customer changed?<\/h3><\/dt>\n<dd><p>Every action leaves an order note on the subscription and a line in a dedicated \"subportal\" log source under WooCommerce &gt; Status &gt; Logs. See <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/order-notes-and-logging\/\">Order notes and logging<\/a>.<\/p><\/dd>\n<dt id=\"where%20is%20the%20documentation%3F\"><h3>Where is the documentation?<\/h3><\/dt>\n<dd><p>At <a href=\"https:\/\/thewpgarden.com\/docs\/subportal\/\">thewpgarden.com\/docs\/subportal<\/a> - setup, plus a guide for each feature.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>Deleting SubPortal always removes its own settings. The per-subscription record of why customers cancelled and how often they paused is kept, because that is your store's data rather than plugin state. If you would rather it went too, tick \"Delete all SubPortal data on uninstall\" under WooCommerce &gt; Settings &gt; SubPortal before deleting. Order notes and the \"subportal\" logs are always kept.<\/p>\n\n<p>Note that deactivating SubPortal cancels its pending automatic resumes, so any subscription paused until a date stays on hold until you or the customer resumes it. Reactivating rebuilds those schedules.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\"><h3>How do I get support?<\/h3><\/dt>\n<dd><p>Open a topic in the <a href=\"https:\/\/wordpress.org\/support\/plugin\/subportal\/\">WordPress.org support forum<\/a>. For anything else, <a href=\"https:\/\/thewpgarden.com\/contact-us\/\">contact us<\/a>.<\/p><\/dd>\n<dt id=\"can%20i%20translate%20subportal%3F\"><h3>Can I translate SubPortal?<\/h3><\/dt>\n<dd><p>Yes. You can translate <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/subportal\/\">SubPortal<\/a> into your language on translate.wordpress.org.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Tested with WooCommerce 11.1.0 and WooCommerce Subscriptions 9.2.0. No change to how the portal behaves for customers.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Deleting the plugin now cleans up after itself: SubPortal's settings are removed on uninstall.<\/li>\n<li>Added an optional \"Delete all SubPortal data on uninstall\" setting for stores that want cancellation reasons and pause history removed as well. Off by default, and order notes are always kept.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Hardened the subscriptions dashboard against unusual line items: a subscription containing a non-product line item, or a product from a plugin that reports a variation type without being one, cannot break the My Account page.<\/li>\n<li>Internal: added an automated test suite and coding-standards tooling. No change to how the portal behaves for customers.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added a \"Settings\" link to the SubPortal row on the Plugins screen.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>After a subscription action, the dashboard now scrolls back to the affected subscription card, shows the confirmation right above it, and briefly highlights it.<\/li>\n<li>Dashboard cards now list each line item on its own row with the product image, price, variation, and quantity. Product images can be switched off under WooCommerce &gt; Settings &gt; SubPortal.<\/li>\n<li>The billing schedule (\"every 6 weeks\") now sits under the card title, and the Total row shows the plain amount.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First Edition release<\/li>\n<\/ul>","raw_excerpt":"Customer self-service portal for WooCommerce Subscriptions: skip, pause, resume, cancel with reasons, and edit addresses from My Account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344856"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thewpgarden"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344856"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344856"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344856"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344856"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344856"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}