Перейти к содержимому

Listdom Membership Addon Documentation

Это содержимое пока не доступно на вашем языке.

The Listdom Membership Addon allows you to generate revenue by selling membership packages for listings. Each package can limit how many listings a user can submit and for how long their listings remain active, along with restricting certain listing features. You can connect packages to WooCommerce products for supported one-time checkout or to Listdom payment plans for native one-time and recurring payments.

If you want to sell packages without WooCommerce, configure Listdom’s native engine instead. The Listdom Payments documentation and Listdom Payments Settings documentation explain how to enable gateways, checkout pages, appreciation messaging, and invoicing. After setup, membership purchases and renewals are recorded in Listdom → Payments.

Site administrators can create custom membership packages which users will buy. Each package must be associated with either a WooCommerce product or, if the Listdom payment engine is enabled, one or more Listdom Payments plans. Follow these steps to set up a membership package:

  1. Create a WooCommerce Product or Listdom Plan: In your WooCommerce catalog, create a simple product that represents a one-time membership purchase (for example, “Gold Listing Package”), or build the needed Listdom payment plan(s) first if you use Listdom’s payment engine. You do not need to publish an internal WooCommerce product on the shop page; it will be used by the package checkout flow.

  2. Add a New Package in Listdom: In WordPress admin, navigate to Listdom → Memberships. This section lists user memberships, but also allows managing packages. Click Add New Package (you may find this under All Packages or via an “Add Package” button).

  3. Package Settings: Configure the package in these groups:

    • Plan / Product Connection
      • WooCommerce Product: Select the WooCommerce product for this package when WooCommerce should handle a supported one-time package checkout. In Modern Mode, the product’s Listdom Duration value can also provide the membership active period.
      • Listdom Plan(s): If you bill through Listdom Payments, select one or more plans instead of WooCommerce product(s). Plans control billing details, including native recurring tiers; package fields below control access rules.
    • Access Rules
      • Listing Limit: Number of listings the user can submit. Leave blank or 0 for unlimited.
      • Duration (Membership Duration): Membership length in days. Leave blank or 0 for never expire.
      • One-time Purchase: Limit purchase of this package to one time per user.
    • Listing Settings
      • Auto Confirm: Auto-publish listings submitted through this package.
      • Listing Auto Label: Auto-assign selected labels from core Listdom labels taxonomy.
      • Allowed Categories: Restrict package use to specific categories.
      • Allowed Labels: Restrict which existing labels can be assigned by users on this package.
    • Limits
      • Max Gallery Images: Maximum allowed gallery images per listing.
      • Description Length: Maximum listing description length.
      • Max Tags: Maximum number of tags per listing.
      • Max Visits: Optional visit cap (works with visibility-related behavior, if configured).
    • Dashboard Modules
      • Style: Select the package display style (or inherit category/global style).
      • Modules Toggles: Enable/disable per-package sections like Contact Details, Gallery, Custom Fields, Locations, Tags, Features, Labels, Address/Map, Price Options, Work Hours, and others shown in the package sidebar meta box.
    • Identifiers & Purchase Link
      • Package ID: Internal identifier useful for advanced references.
      • Purchase URL: Direct checkout URL you can place in pricing tables or CTA buttons. It adds the package to cart and redirects to checkout.

    Custom fields by package: With the Membership add-on, you can assign custom fields to specific packages from each custom field’s create/edit form (Listings → Custom Fields → Related Packages). In each package editor, the Available Custom Fields info box (under the Dashboard Modules area) shows the final custom fields available for that package. See Custom Fields documentation.

  4. Mass Membership (Optional): In the package edit screen, you’ll see a Mass Memberships section. This lets you assign this package to existing users in bulk:

    • All Users: Check this to give every user on the site this membership package.
    • Specific Users: If you prefer, leave “All Users” unchecked and select one or more usernames from the list to grant them this package.
    • Ignore Active Members: If checked, the system will not assign the package to users who already have any active membership. (This prevents duplicate or overlapping memberships.) After selecting, click Update on the package. The addon will automatically create membership entries for those users (free of charge) as if they purchased the package.
  5. Save the Package: Click Publish or Update to save your new package. Once saved, it becomes available for users to purchase on the front-end.

Each package you create will appear on the user’s Membership selection page (detailed below), showing its title, description, listing limit, duration, and price.

In addition to creating packages, there are global settings for the Membership addon. Navigate to Listdom → Settings → Addons tab → Membership to configure these:

  • Default Membership: Choose a package to automatically assign to every new user upon registration. This is useful if you offer a free starter package. For example, select a “Free Trial” package here and any newly registered user will immediately get that membership without payment. If set to None, new users start with no listings until they purchase a package.
  • Import Membership: Select a package that will be used when importing listings via CSV/JSON/Excel. If you import listings in bulk (perhaps as an admin or via a script), those listings need a membership association. The chosen package will be applied to imported listings (typically, you might create an “Import” package with unlimited listings and never expiring for this purpose). If left None, imported listings will not be tied to a membership, and they cannot be edited by front-end users until assigned.
  • Auto Order Complete: Toggle this On (Recommended). When enabled, checkout orders for membership packages can be marked Completed as soon as payment is done, so the user’s membership activates immediately. If disabled, the order must be completed before the membership becomes active.
  • Redirect to Add Listing Form: (Visible only if Auto Order Complete is on.) Toggle On to redirect users straight to the Add Listing page after a successful checkout. With this on, once a user pays for a package, they land on the Listdom “Add New Listing” form, ready to use their new membership, instead of staying on the active checkout engine’s default completion page.

These settings refine how the membership workflow behaves. Usually you will set a default package if you have a free plan, and enable auto-completion and redirection for a smoother user experience.

Go to Listdom > Settings > Add-ons > Memberships and choose how Listdom determines membership expiry.

Legacy Mode uses the package duration to determine membership expiry. It preserves the behavior of sites configured before payment-plan and WooCommerce-product durations were introduced.

Use Legacy Mode when existing packages already control duration and changing the source could alter active membership behavior.

Modern Mode resolves duration from the purchased payment option first:

  1. The Listdom payment-plan tier’s Expiry Duration (Days).
  2. The selected WooCommerce product’s Duration for a supported one-time purchase.
  3. The package duration as a fallback.

Use Modern Mode when different payment tiers or products should grant different active periods for the same package.

If no applicable duration is configured, the membership does not expire automatically.

Each Listdom payment-plan tier can define Expiry Duration (Days). The field is available for one-time and recurring tiers.

  • Enter the number of days the membership should remain active.
  • Leave it empty for an unlimited membership.
  • For a recurring tier, configure the billing frequency separately from the membership expiry value.

Billing frequency controls when payments recur. Expiry duration controls the active membership period granted by the tier. Do not assume these two values are interchangeable.

Supported WooCommerce products can provide a Listdom Duration value in days. Listdom monetization tools use this value as the active period in Modern Mode.

Use a minimum of one day when a finite duration is required. Leave the duration unset when the package fallback or unlimited behavior should apply.

Simple WooCommerce products can be used for supported one-time Listdom purchases. WooCommerce Subscriptions and YITH subscription products are not used for Listdom recurring memberships.

Configure recurring memberships through Listdom’s native payment-plan and recurring-payment system. Use a Listdom-supported recurring gateway, such as a configured Stripe recurring method, when available on the site.

Only the Listdom integration with WooCommerce subscription products was removed. Standard WooCommerce products remain supported for one-time package checkout, but recurring or subscription-based Listdom memberships should be connected to Listdom recurring payment-plan tiers.

Do not select a WooCommerce subscription product for a recurring Listdom membership. Unsupported products can show a general unavailable message on the frontend, and the administration interface can warn that the product is not compatible with Listdom recurring memberships.

Members manage supported native recurring payments through the Listdom membership and recurring-payment dashboard. Available actions depend on gateway status and can include viewing the subscription or cancelling future renewals.

Filter Listings by Membership Package in Shortcodes

Section titled “Filter Listings by Membership Package in Shortcodes”

The shortcode builder includes a package-based filter so you can show listings from specific membership tiers only.

  • Go to Listdom -> Shortcodes and open or create a shortcode.
  • Open the Filter Options tab.
  • Use the Membership Packages checkboxes to select the package(s) you want to include in that shortcode output.

This is useful for creating pages such as “Free Listings” or “Pro Listings” without changing listing categories or labels. For full shortcode tab details, see Listdom Skin shortcodes Documentation.

Use the [listdom-pricing-tables] shortcode to display membership packages on any WordPress page, such as a public pricing page, upgrade page, or account area. The shortcode can show available packages, the current user’s active memberships, expired memberships, and an optional package comparison table.

The shortcode also supports this alias, which uses the same attributes:

[listdom-subscriptions-pricing]
[listdom-pricing-tables]

By default, this displays the available packages section.

Use the section attribute to choose which main sections are available in the shortcode output.

ValueResult
packagesShows available packages.
activeShows the current user’s active memberships.
expiredShows the current user’s expired memberships.
allShows packages, active memberships, and expired memberships.

You can combine multiple section values using spaces, commas, or pipes:

[listdom-pricing-tables section="packages"]
[listdom-pricing-tables section="active"]
[listdom-pricing-tables section="expired"]
[listdom-pricing-tables section="all"]
[listdom-pricing-tables section="packages active expired"]
[listdom-pricing-tables section="packages,active,expired"]
[listdom-pricing-tables section="packages|active|expired"]

Default value: packages.

When section is used, it automatically controls the available, active, and expired section visibility.

AttributeDefaultDescription
titleemptyAdds a custom heading above the pricing table. Example: [listdom-pricing-tables title="Choose Your Plan"].
descriptionemptyAdds a short description below the shortcode title. Example: [listdom-pricing-tables title="Choose Your Plan" description="Select the package that fits your directory needs."].
show_title1Shows or hides the title and description area. Set it to 0 when the page already has its own heading.
show_tabs1Shows tabs when more than one section is available, such as packages, active memberships, and expired memberships.
html_classemptyAdds custom CSS classes to the shortcode wrapper. Example: [listdom-pricing-tables html_class="my-pricing-table custom-layout"].
AttributeDefaultDescription
show_available1Shows or hides the available packages section.
show_active0Shows or hides active memberships for the current logged-in user. Use this on account or dashboard pages.
show_expired0Shows or hides expired memberships for the current logged-in user.
show_empty1Shows or hides the empty message when no packages or memberships match the shortcode settings.
empty_messageNo memberships or packages are available right now.Changes the message shown when the shortcode has no packages or memberships to display.
AttributeDefaultDescription
package_idsemptyLimits output to specific package post IDs. Use comma-separated IDs, such as [listdom-pricing-tables package_ids="101,102,103"].
exclude_idsemptyExcludes specific package post IDs. Use comma-separated IDs, such as [listdom-pricing-tables exclude_ids="101,102"].
limit-1Controls the maximum number of packages displayed. Use -1 to show all matching packages.
orderbymenu_orderSorts packages by menu_order, title, date, modified, ID, rand, or post__in. Use post__in to preserve the order used in package_ids.
orderASCSorts packages in ASC or DESC order.
only_purchasable0Shows only packages the current visitor is allowed to purchase.
show_purchased1Controls whether packages already purchased by the current user still appear in the available packages list. Set this to 0 for upgrade pages that should only show new options.
show_purchased_itemsemptyAlternate attribute for show_purchased. When provided, it overrides show_purchased.
AttributeDefaultDescription
show_image1Shows or hides the package image. Disable it for compact pricing cards.
show_badge1Shows or hides visual package badges, such as highlighted or featured labels.
show_price1Shows or hides package pricing information.
show_billing_label1Shows or hides billing text near the price, such as the billing period or recurring payment label, depending on the package type.
show_features1Shows or hides the package features list.
show_package_description0Shows or hides the package description text.
AttributeDefaultDescription
show_actions1Shows or hides all package action buttons. Disable this for read-only pricing or comparison pages.
show_purchase_button1Shows or hides the normal purchase button when actions are enabled and the user does not already have an active membership for the package.
show_purchase_again_button1Shows or hides the purchase-again button for eligible packages, mainly recurring packages that can be purchased again while the user already has an active membership.
show_select_button1Shows or hides the select button for valid active memberships. This button lets a user choose an active membership for the frontend dashboard flow.
AttributeDefaultDescription
show_comparison0Shows or hides the package comparison section.
comparison_titlePackages ComparisonChanges the heading above the comparison table.

When comparison is enabled, the output can compare package modules, categories, labels, limits, and other package-related features depending on the pricing table template and available package data.

AttributeDefaultDescription
available_titleAvailable PackagesChanges the available packages section title and tab label.
active_titlePurchasedChanges the active memberships section title and tab label.
expired_titleExpiredChanges the expired memberships section title and tab label.

Most show or hide attributes accept these enabled values:

  • 1
  • true
  • yes
  • on

Any other value is treated as disabled.

[listdom-pricing-tables show_image="true" show_price="yes" show_actions="on"]
[listdom-pricing-tables show_image="0" show_price="0" show_actions="0"]
[listdom-pricing-tables section="packages" show_tabs="0" show_comparison="1" title="Choose Your Membership" description="Compare packages and select the best option for your directory."]
[listdom-pricing-tables section="active expired" show_tabs="1" active_title="Active Memberships" expired_title="Expired Memberships"]
[listdom-pricing-tables section="packages" only_purchasable="1" show_purchased="0" title="Available Upgrades"]
[listdom-pricing-tables show_image="0" show_badge="0" show_features="0" show_package_description="0" show_billing_label="0"]
[listdom-pricing-tables show_actions="0" show_comparison="1" title="Compare Plans"]

For a complete account-facing reference, including package cards, comparison rows, active package tabs, listing capacity, recurring actions, expired-package search, and listing assignment, see How to Manage Memberships and Packages in Listdom.

Once the Membership addon is active, users will see a new “Memberships” section in their Listdom front-end dashboard. Here’s how the process works for an end user:

  • Dashboard Menu: In the user’s dashboard (usually accessed via a page using the [listdom_dashboard] shortcode), a new menu item Memberships appears. Users can click this to manage their membership or buy a new one.
  • Available Packages: The Membership dashboard page lists available packages with details such as name, price, listing allowance, and duration so users can compare plans before checkout.
  • Active Packages: Users can review currently valid memberships, package usage, and related listing information from the Active Packages tab.
  • Expired Packages: Users can search past memberships in the Expired Packages tab and use Renew Package when renewal is available.
  • Purchasing a Package: When a user selects a package to purchase, they’ll typically see a “Buy” or “Select Package” button (often represented with a shopping cart icon). Upon clicking it, Listdom sends the user to the configured checkout flow, either WooCommerce checkout for a connected one-time product or Listdom checkout for a connected payment plan.
  • Order Completion: If Auto Order Complete is enabled, the moment payment is successful, the order status changes to Completed automatically. The Membership addon will then create a new membership entry for the user tied to the package they bought. At this point, the user has an active membership and can use their package.
  • Redirect to Add Listing: With the redirect option on, the user is forwarded straight to the Add Listing form after checkout. They will see that they can now submit listings (up to the limit of their package). If the redirect is off, they’ll see the active checkout engine’s standard completion page and can navigate to add a listing on their own.
  • Using the Membership: Once their membership is active, the user can add up to the number of listings allowed by their package. The addon associates each new listing with the user’s membership. The user’s membership status and usage (e.g., how many listings used out of the limit) may be displayed on the Membership dashboard page, so they can keep track.
  • Expiration and Renewal: If the package or selected payment option has a duration, the membership expires according to the configured Duration Mode. Upon expiry, the user’s listings might be automatically expired or removed from public view by the add-on. Users would then need to renew by purchasing another eligible package or by using a supported native recurring payment.
  • Switching Packages: If a user still has an active membership but wants to upgrade to a higher package, they can purchase the new package as well. Listdom Membership addon allows users to have multiple membership entries. However, a single listing can only be associated with one membership at a time. The user interface includes options to switch a listing’s membership if the user has more than one active (for example, moving a listing from a free package to a paid package they bought). This is handled via a dropdown or button on the listing in the dashboard (e.g., “Switch Membership” action).
  • Membership Management: In the front-end, users can see details of their current membership (package name, remaining listing count, expiry date). They cannot manually extend it except by buying another package. Admins, however, could extend or modify memberships from the back-end if needed.

On the WordPress admin side, the Listdom → Memberships page shows all user memberships as custom post entries (post type: Listdom Membership). Each membership record includes the user (author), the package, status, and other metadata:

  • Statuses: Memberships can have statuses like Active (publish), Expired, Canceled, or On Hold. These statuses update automatically based on time or admin actions:
    • Active means the membership is currently valid.
    • Expired means the duration passed.
    • Canceled might indicate an admin or system canceled it (e.g., refunded or manually ended).
    • On Hold could indicate a paused membership (for instance, if using recurring payments and a payment failed).
  • Viewing/Editing: An admin can click on a membership to view its details (the associated package, dates, user info). You typically do not need to edit these manually, but you could adjust expiry dates or package associations if necessary.
  • Listings Association: Each listing post in Listdom will have a meta field linking it to a membership ID (lsd_subscription). Admins can see which membership a listing is under. If a membership expires, the addon (in conjunction with the Visibility addon) may expire the listings (set them offline).

In practice, most membership management (activation, expiry) is automated. Admins mainly intervene to set up packages and handle edge cases (like granting free packages via Mass Membership or troubleshooting payment issues).

Free and Paid Plans

You offer a Free package (1 listing, 7-day duration) for new users and a Premium package (unlimited listings for 30 days). A new user automatically gets the Free plan on signup, then upgrades to Premium via the Membership page to post more listings

Tiered Feature Access

Using Dashboard Modules settings, you create a Basic plan that does not allow Gallery or Video embeds, and an Advanced plan that enables all features. Users on Basic can list items with text only, enticing them to upgrade for rich media features

Recurring Revenue Model

You set up a Monthly Membership package connected to a recurring Listdom payment-plan tier. Users are billed through the supported Listdom recurring gateway, and their access follows the recurring-payment record.