Subscription-based listing plans
A Listing Subscription combines MyListing’s package rules with the billing and status lifecycle supplied by WooCommerce Subscriptions. Its Subscription Type decides whether the subscription controls the listings themselves or replenishes a reusable package allowance.
Create a Listing Subscription
Section titled “Create a Listing Subscription”- Install and activate WooCommerce and WooCommerce Subscriptions.
- Go to Products → Add New and set Product data to Listing Subscription.
- Configure the recurring price, billing interval, length, sign-up fee, trial, and other fields supplied by WooCommerce Subscriptions.
- Configure the MyListing fields: Listing limit, optional limits by listing type, priority, verification, claim use, add-listing visibility, and claimability.
- Select one of the two Subscription Type values below. Do not leave the intended behavior implicit; older products without saved type data fall back to package-linked behavior.
- Publish the product, then add it to the applicable type under Listing Types → Edit a type → General → Packages.
The product is virtual and sold individually. Checkout and renewal orders are managed by WooCommerce Subscriptions; the resulting user package remains visible under Users → Paid Listing Packages. Inspect the billing agreement under WooCommerce → Subscriptions and related charges under WooCommerce → Orders.
Link the subscription to posted listings
Section titled “Link the subscription to posted listings”Choose Link the subscription to posted listings (renew posted listings every subscription term) when publication should follow the subscription’s active status.
- MyListing ignores the product’s listing duration and clears the normal listing-expiry date. The listing does not expire merely because a number of days elapsed.
- When the subscription becomes On hold, Cancelled, or Expired, reaches its scheduled expiration, or reaches the end of its prepaid term, MyListing deletes the user package and expires its Published or Pending listings.
- When the subscription becomes Active again, MyListing creates a new user package and reconnects listings it expired for that subscription. It restores a saved Published or Pending status where possible; otherwise it follows the global submission-approval setting.
- A normal renewal payment does not replenish a listing count for this mode. The subscription status is the controlling lifecycle.
Pending Cancellation is not an immediate end event in the theme integration. WooCommerce Subscriptions can continue benefits through the prepaid term, after which the end-of-term or Cancelled event expires the linked listings.
Link the subscription to the package
Section titled “Link the subscription to the package”Choose Link the subscription to the package (renew listing limit every subscription term) when each successful billing term should provide another submission allowance.
- Listings keep their own Listing duration. A blank product duration inherits Listings → Settings → Listing Duration.
- On every completed renewal payment, MyListing resets the package’s used count to zero.
- If the subscription goes On hold, is Cancelled, or expires, the existing user package and listings remain in their current state. The count stops resetting, but unused capacity already present in the package is not removed.
- Individual listings continue to expire according to their dates and can be relisted through the normal package flow.
Upgrades and downgrades
Section titled “Upgrades and downgrades”MyListing can send an eligible Listing Subscription to WooCommerce Subscriptions’ switching flow instead of the ordinary Switch Plan flow.
- Create a WooCommerce Grouped product.
- Edit that grouped product and add the published Listing Subscription products under Linked Products → Grouped products.
- Go to WooCommerce → Settings → Subscriptions, scroll to Switching, and enable Grouped subscriptions. Configure proration and the other switching rules for the store.
- Test My Account → My Listings with an active subscription. When WooCommerce considers the item switchable, MyListing displays Upgrade; its tooltip identifies the action as Upgrade or Downgrade.
WooCommerce controls eligibility, charges, payment-gateway support, and proration. MyListing handles the listing package after the item switch: it creates a package from the new product, moves Published and Pending listings from the old package, and deletes the old package. If the new listing limit is too small, listings beyond its capacity are set to Expired. Their query order is not a safe basis for choosing which listings survive a downgrade, so review capacity before offering a lower tier.
See WooCommerce’s subscription switching guide for the extension-level rules.
Troubleshooting status changes
Section titled “Troubleshooting status changes”When a renewal or reactivation does not update listings as expected, check all three records:
- the subscription and its notes under WooCommerce → Subscriptions;
- the parent, renewal, or switch order under WooCommerce → Orders; and
- the user package under Users → Paid Listing Packages, including Product, Order/Subscription, count, limit, and status.
Do not repair a listing by editing only its expiry date. Listing-linked subscriptions deliberately clear that date, and their package and subscription references determine later status transitions.
Developer hooks
Section titled “Developer hooks”After initial activation assigns a listing, MyListing runs mylisting/subscriptions/{assignment}/order-processed, where {assignment} is normally submission, claim, switch, or relist. WooCommerce Subscriptions’ own status, renewal, and item-switch actions trigger the other lifecycle work described above.
