Skip to main content
MyListing Pro adds improvements to the Add Listing Flow: Checkout Before Listing, drag-to-reposition cover images, listing counters on type cards, and custom pending-submission messages.
MyListing Pro includes a Listing Type Editor module that greatly enhances the overall experience when building and managing Listing Types.
This document references reCAPTCHA throughout, but we don’t recommend it. It negatively impacts the user experience, slows down your website, introduces privacy issues, and kills conversions. There are better options.

What is the Add Listing Flow?

Think of it as a guided wizard on the front end of your site. The Add Listing flow is the path a visitor or logged-in user follows to submit a new listing on your site. It starts on your Add Listing page, walks through listing type and package choices (when applicable), collects the listing details, shows a preview, and ends with a success message when the listing is published, pending approval, or saved as a draft. Every step pulls its fields, packages, and rules from the listing type the user selects. Site-wide settings under Listings > Settings control whether accounts are required, whether admin approval is needed, and how paid packages work.
  • The user lands on your Add Listing page (built with Elementor).
  • They pick a listing type (for example, Restaurant or Event) unless only one type is offered.
  • If paid packages are enabled for that type, they select a package.
  • They fill in the listing details (the fields you configured for that listing type).
  • They preview the listing and submit it.
  • MyListing processes payment (if required), sets the listing status, and shows a done message.
The same form also powers editing an existing listing when the user opens it from My Account > My Listings.

Where You Set Up the Add Listing Flow

The Add Listing Page (/add-listing/)

Create or edit a WordPress page in Elementor, then add the 27 > Add Listing Form widget. This widget drives the entire flow. In the widget settings, you can configure the following:
  • Listing type selection step: which listing types appear as flipping cards, card size (Small, Regular, Large), and form section animations.
  • Package selection step: show 3 packages per row or 4 packages per row.
If you configure only one listing type in the widget, visitors skip the type-selection cards and go straight to the form. Tell MyListing which page is the Add Listing page: Go to WP Admin > Theme Tools > Theme Options, open the Explore tab, and set the default ‘Add a Listing’ page.

Listing Types (Fields and Packages)

Go to WP Admin > Listing Types and edit each type.
  • Fields tab: controls which questions appear on the Add Listing form. Only fields with Show in submit form enabled are shown.
  • General > Packages tab: turn Enable paid listing packages on or off for each listing type and choose which WooCommerce listing plans apply.
Do not use a global listing type on the Add Listing page. Global types are for cross-type searches on the Explore page only.

Site-Wide Submission Settings

Go to WP Admin > Listings > Settings (General section). These settings apply to every listing type unless noted.

Who Can Submit Listings

Go to WP Admin > Theme Tools > User Roles. Each role has a toggle: Allow users with this role to submit new listings through the Add Listing form.

The Steps Users See

The exact steps depend on your configuration. Here is the typical order.

1. Choose a Listing Type

This step is shown when the Add Listing widget lists more than one listing type and the URL does not already include a type. Users see flipping cards with each type’s icon and name. Clicking a card continues the process with that type. Example URL after selection: https://yoursite.com/add-listing/?listing_type=restaurant

2. Account (When Required)

If the user is not logged in and Require an account to submit listings is enabled, an Account section appears at the top of the form with Sign in and Register links. When Enable Paid Listings is on, an account is always required for paid submissions.

3. Choose a Package

Shown when Enable Paid Listings is on site-wide, Enable Paid Listing Packages is on for the listing type, and the user has not preselected a package in the URL. The heading reads Choose a Package. Users pick a WooCommerce listing plan or an existing package from their account.

4. Submit Details

The main form section is titled Your listing details. Fields come from the Fields tab for the listing type (Title is always required). The primary button label is Preview by default.

5. Preview

Users can see how the listing will look on the single listing page. Buttons:
  • Submit Listing continues to checkout or final submission.
  • Edit listing returns to the form to make changes.

6. Done

A success message appears based on the listing status:
StatusWhat the user sees
PublishedListing listed successfully, with a link to view it
PendingListing submitted successfully. Your listing will be visible once approved.
DraftListing saved successfully

Site-Wide Settings That Shape the Flow

SettingWhat it does
Enable Paid ListingsTurns on WooCommerce listing plans site-wide. An account is always required when this option is on.
Require an account to submit listingsLimits submissions to logged-in users.
Require admin approval of all new listing submissionsNew listings stay pending until an admin approves them. Default: on.
Allow editing of pending listingsLets owners edit listings while they wait for approval.
Allow editing of published listingsControls whether published listings can be edited and whether edits need approval.
Allow switching listing packages.Controls whether owners can change plans from the dashboard.
Listing DurationDays until a listing expires (blank = no expiry).
Display reCAPTCHA field on submission formAdds bot protection when reCAPTCHA keys are configured. Using reCAPTCHA is not recommended.

Free vs Paid Submissions

Free Listing (No Packages for This Type)

  1. Choose type (if needed)
  2. Submit Details
  3. Preview
  4. Done
If paid listings are disabled for the listing type, the package step is skipped. After preview, MyListing publishes the listing or sets it to pending, depending on your approval setting.
  1. Choose type (if needed)
  2. Choose a Package
  3. Submit Details
  4. Preview
  5. Checkout (WooCommerce) or use an existing package
  6. Done
Users may also apply a package they own from a previous purchase instead of buying it again.

How the Pieces Fit Together

Example for a Restaurant directory with paid plans:
  1. Listing type: Restaurant with Location, Category, Cover, and Work Hours fields on the submit form.
  2. Packages: Basic (free) and Featured (paid) are enabled under General > Packages.
  3. Add Listing page: Elementor page with 27 > Add Listing Form widget listing Restaurant and Event types.
  4. Listings > Settings: Require account on, require approval on.
  5. User journey: Pick Restaurant → choose Featured plan → fill in details → preview → pay at checkout → the listing goes to pending until you approve it.

Helpful Tips

  • Start with one listing type. Add more types to the widget when you are ready for flipping cards.
  • Match fields to the single page. Fields only collect data. Add matching content blocks on the Single Page tab so the information appears after submission.
  • Test both logged-in and logged-out states. Account requirements and package flows behave differently for guests vs. registered users.
  • Exclude claim-only packages. On each WooCommerce listing product, you can hide packages from the Add Listing flow when they are meant for claims only.
  • Link to the page everywhere. Set the default ‘Add a Listing’ page in Theme Options so that header buttons and dashboard links point to the correct URL.
  • Regenerate preview cards after design changes. If preview cards look stale after submission, regenerate the cache under Listings > Settings (Preview Cards section).

Quick Reference

I want to…Go to…
Create or edit the Add Listing pageElementor page with 27 > Add Listing Form widget
Set which page is the Add Listing pageTheme Tools > Theme Options > ExploreDefault ‘Add a Listing’ page
Change form fields for a typeListing TypesFields tab
Turn paid packages on or off per typeListing TypesGeneral > Packages
Require login or admin approvalListings > Settings
Control which roles can submitTheme Tools > User Roles
Add bot protection to the formListings > Settings → reCAPTCHA section