> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mylisting.club/llms.txt
> Use this file to discover all available pages before exploring further.

# MyListing Fields

> Smarter listing fields, from custom inputs to conditional logic and editor styling.

## Custom Fields

MyListing gives you a ton of powerful custom fields by default, but it doesn’t allow you to create your own fields. **MyListing Pro comes with new custom fields and provides a platform for quickly and easily adding new fields as needed.**

**Time Picker Field**

MyListing provides date fields (Date, Event Date, and Recurring Date), but there’s not a field dedicated to simply choosing a time.

**Example Usage**

* Check In/Out Times
* Reservation Times
* Delivery & Pickup Windows
* Food Service
* And many more…

**Year Picker Field**

MyListing provides date fields (Date, Event Date, and Recurring Date), but there’s not a field dedicated to simply choosing a year.

**Example Usage**

* Year Established / Founded
* Birth Year
* Graduation Year
* Vehicle Year
* And many more…

**Star Rating Field**

Listing owners as well as site admins can assign a star rating when they submit or edit a listing. The value is saved as a number behind the scenes but displays as visual stars on the frontend.

**Example Usage**

* TripAdvisor, Google, or Yelp-style ratings
* Internal quality ratings
* Any score you want shown as stars

**Frequently Asked Questions (Custom Fields)**

<AccordionGroup>
  <Accordion title="How do we configure this feature?">
    Once you enable the module, simply choose the fields you wish to enable, and they will be available when you edit your listing types.
  </Accordion>

  <Accordion title="Where can we display and filter the data from these fields?">
    You can display and filter the data in all the same places that MyListing typically allows.

    **Display:**

    * Listing Cover Details
    * Listing Blocks
    * Listing Preview Cards
    * Compare Listings Table

    **Filter:**

    * Basic Search Form
    * Advanced Search Form (Exact Time or Range)
  </Accordion>

  <Accordion title="Can we see this feature on a live MyListing website?">
    This particular feature is a back-end solution, so there’s nothing to see on the front end.  This particular feature is a back-end solution, so there’s nothing to see on the front end. This particular feature is a back-end solution, so there’s nothing to see on the front end.

    Refer to the [MyListing Pro YouTube playlist](https://www.youtube.com/playlist?list=PLggJJkpjrMUbtAzIDmgHpVnyP6DUxuILT) to learn more.
  </Accordion>
</AccordionGroup>

## WP Editor Field Styler

Easily style the Add Listing form WP Editor fields to match your brand.

MyListing doesn't provide a way to style these fields, and it's impossible to do without custom development. **MyListing Pro allows you to easily style these fields in seconds, applying the color scheme of your choice and accommodating both light and dark mode websites.**

**Custom Color Scheme**

Easily change the background and text color for the input area of the WP Editor field that's often added to the Add Listing/Submit Form. Now, whether you have a light-themed site or a dark one, you're covered.

**Frequently Asked Questions (WP Editor Field Styler)**

<AccordionGroup>
  <Accordion title="How do we set this up?">
    Once the module is enabled, it's super easy to configure the available options. 

    * Input Area Background Color
    * Input Area Text Color
  </Accordion>

  <Accordion title="Can we see this on a live MyListing website?">
    Add a free listing to any [MyListing Starter Site](https://mylisting.club/resources/starter-sites/#explore) or [MyListing Lite Starter Site](https://mylisting.club/resources/lite-starter-sites/). 

    **Refer to the [MyListing Pro YouTube playlist](https://www.youtube.com/playlist?list=PLggJJkpjrMUbtAzIDmgHpVnyP6DUxuILT) to learn more.**
  </Accordion>
</AccordionGroup>

## Conditional Fields

Show the right fields at the right time, automatically, for smarter listing forms with less clutter.

Long listing forms confuse submitters. Crowded Explore sidebars confuse searchers. **MyListing Pro solves both.**

Configure dependencies once in the listing type editor. Dependent fields appear or disappear on add/edit listing forms as users answer parent questions. The same rules now apply on the **Explore** page's **Advanced Search Form**—filters stay hidden until their parent filter is set, then show instantly when the rule matches.

There is no second toggle and no duplicate configuration. Enable **MyListing Conditional Fields**, set your field rules, and add the relevant fields to **Explore Filters**.

No code. No workarounds. Just cleaner forms and happier users.

**Who It's For**

* Directory owners with category-specific filters (for example, show “Rental cars” only when “Accommodation” is selected)
* Marketplaces where search options should mirror listing form logic
* Sites with a significant number of facets added to the **Advanced Search Form**
* Anyone who wants consistent “if this, then that” behavior across the **Submit Form** and **Advanced Search Form**

**Key Benefits**

* **Configure once, use everywhere:** Field dependency rules drive both the **Submit Form** and **Advanced Search Form**
* **Cleaner Advanced Search Form:** Visitors only see filters that apply to their current choices.
* **Accurate search results:** Hidden filter values are cleared so inactive filters do not skew results.
* **Live updates:** Changing a parent filter shows, hides, or refreshes dependent filters without a page reload.

**Frequently Asked Questions (Conditional Fields)**

<AccordionGroup>
  <Accordion title="Is there a settings page?">
    No, all configuration is done per field inside each listing type.
  </Accordion>

  <Accordion title="What dependency rules are available?">
    | **Operator**         | **Meaning**                                       | **Needs a value?** |
    | :------------------- | :------------------------------------------------ | :----------------- |
    | **Is not empty**     | Parent field has content                          | No                 |
    | **Is empty**         | Parent field is blank                             | No                 |
    | **Equals**           | Parent value exactly matches                      | Yes                |
    | **Does not equal**   | Parent value does not match                       | Yes                |
    | **Is one of**        | Parent value matches any selected option          | Yes (one or more)  |
    | **Is not one of**    | Parent value matches none of the selected options | Yes (one or more)  |
    | **Contains**         | Parent text includes the value                    | Yes                |
    | **Does not contain** | Parent text does not include the value            | Yes                |
  </Accordion>

  <Accordion title="Do you have an example dependency scenario?">
    **Example:** Delivery Options (Restaurant Directory)

    | **Field**                               | **Dependency setup**                                                                 |
    | :-------------------------------------- | :----------------------------------------------------------------------------------- |
    | **Offers delivery?** (select: Yes / No) | No dependency — always visible                                                       |
    | **Delivery radius (km)** (number)       | Enable dependency → Parent: *Offers delivery?* → Operator: **Equals** → Value: `yes` |
    | **Delivery fee** (number)               | Same rule as above                                                                   |
  </Accordion>

  <Accordion title="Does this replace MyListing’s package-based field visibility?">
    No, they work together. Package rules run first; conditional fields add form logic on top.
  </Accordion>

  <Accordion title="Can one field depend on multiple parent fields?">
    Yes
  </Accordion>

  <Accordion title="Can we chain dependencies (A → B → C)?">
    Yes, if field B depends on A and field C depends on B, the plugin re-evaluates the visible set iteratively on save. On the frontend, each field’s visibility is evaluated against current parent values.
  </Accordion>

  <Accordion title="Does this module work with the Basic Search Form?">
    No, Basic Search Forms are named "Basic" for a reason. They are not designed to be complex or lengthy, so this module would have little to no benefit for them.
  </Accordion>

  <Accordion title="Are there any tips and best practices?">
    * **Put parent fields above dependents** in the **Fields** tab and in the **Advanced Search Form** filter order so the flow feels natural.
    * **Add both the parent and child** to **Advanced Search Form** filters if you want search conditionals. Form-only dependencies do not affect search until the field has a filter.
    * **Start with one dependent filter** (for example, one category controlling one extra filter) before building long chains.
    * **Test on the front end.** Change the parent filter, confirm the dependent appears, then reset and confirm it hides again.
    * **Check package visibility first** if a field never appears on submission forms. Package rules run before field dependencies.
  </Accordion>
</AccordionGroup>

### Listing Type—Fields

**Highlights**

* **Live Show/Hide**: Dependent fields appear and disappear instantly as users fill out the form.
* **Flexible Rules**: Match exact values, multiple choices, empty/filled states, and text that contains/does not contain.
* **Multiple Conditions**: Require all rules to pass, or any one rule to pass—it's your choice per field.
* **Works with MyListing Packages**: Package visibility is applied first; field dependencies layer on top.
* **Frontend and Admin**: Same behavior on public add/edit listing forms and in the WordPress admin listing editor.
* **Clean Data on Save**: Unused fields are cleared automatically so stale values don’t linger in listings.

**Before and After**

| **Before**                            | **After**                                      |
| :------------------------------------ | :--------------------------------------------- |
| One long form for every listing       | A guided form that changes based on answers    |
| Users skip irrelevant fields or guess | Users only see fields that apply to them       |
| Optional details buried in clutter    | Follow-up questions appear exactly when needed |
| Stale data saved from hidden fields   | Hidden fields are cleared on save              |

**Frequently Asked Questions (Listing Type Fields)**

<AccordionGroup>
  <Accordion title="How do we configure this particular feature?">
    Once you enable the module, proceed with the steps below.

    <Steps>
      <Step title="Step 1: Edit Your Listing Type">
        Edit the desired Listing Type and go to the **Fields** section.
      </Step>

      <Step title="Step 2: Edit a Field">
        Click the field you want to **conditionally show or hide**.
      </Step>

      <Step title="Step 3: Enable Field Dependency">
        Scroll to **Enable Field Dependency** and turn it on.
      </Step>

      <Step title="Step 4: Add Dependency Rules">
        Under **Show This Field When**, choose:

        * **All Rules Match**: Every rule must be true (AND logic)
        * **Any Rule Matches**: At least one rule must be true (OR logic)
      </Step>

      <Step title="Step 5: Save Changes">
        Click **Done**, then save the Listing Type as usual.
      </Step>
    </Steps>

    <Info>
      *The Listing Title field is required by MyListing, so it must always display. Form Heading fields are also not part of this module at this time but could be explored if desired.*
    </Info>
  </Accordion>

  <Accordion title="Is there a settings page?">
    No, all configuration is per field inside each listing type.
  </Accordion>

  <Accordion title="What is the experience during the add/edit listing process?">
    **When someone adds or edits a listing:**

    * Fields with dependencies start hidden if their rules are not met.
    * As the user changes parent fields, dependent fields **show or hide immediately**.
    * Hidden fields are **disabled** so they are not submitted with the form.
    * This works on Public **Add Listing** / **Edit Listing** forms and **WP Admin** listing edit screens

    **When a listing is saved:**

    * Rules are evaluated using the **submitted form values**.
    * Fields that fail their dependency rules are **removed from the save,** and any **stored values are cleared**.
    * This prevents old data from staying on a listing after a user changes answers and a field becomes hidden again.

    **Visibility is applied in this order:**

    1. **MyListing package visibility** (which plan the user chose)
    2. **Field dependencies** (this plugin)
    3. Other MyListing field filters

    The plugin description in the listing type editor states this clearly: *“Package visibility rules are applied first.”*
  </Accordion>

  <Accordion title="Can we see this feature on a live MyListing website?">
    This particular feature of the module is a back-end solution, so there’s nothing to see on the front end.  This particular feature of the module is a back-end solution, so there’s nothing to see on the front end. This particular feature of the module is a back-end solution, so there’s nothing to see on the front end.

    Refer to the [MyListing Pro YouTube playlist](https://www.youtube.com/playlist?list=PLggJJkpjrMUbtAzIDmgHpVnyP6DUxuILT) to learn more.
  </Accordion>
</AccordionGroup>

### Listing Type—Advanced Search Form

**The heavy lifting is done within the Listing Type Fields.** The main thing to highlight here is that the fields appear and disappear instantly as users make their choices in the Advanced Search Form.

**Frequently Asked Questions (Listing Type Advanced Search Form)**

<AccordionGroup>
  <Accordion title="How do we set this up?">
    Once you enable the module, there's little work to do here, since this feature pulls from your Listing Type Fields configuration. 

    **Edit Listing Type → Advanced Search Form →** Add Fields **→** Save Changes
  </Accordion>

  <Accordion title="Is there a settings page?">
    No, all configuration is per field inside each listing type.
  </Accordion>

  <Accordion title="What is the experience when using the Advanced Search Form?">
    1. **The user makes choices using the fields added to the Advanced Search Form**
    2. **New fields are made available to the user based on their choices**
    3. The user finds what they are searching for without being overwhelmed
  </Accordion>

  <Accordion title="What if a dependent filter isn't showing on the Advanced Search Form as expected?">
    * Confirm the **MyListing Conditional Fields** module is enabled.
    * Confirm the dependent field has **Enable Field Dependency** turned on and valid rules.
    * Confirm both parent and dependent fields are added under **Advanced Search Form** filters for that listing type.
    * Confirm the parent filter is visible and set to a value that satisfies the rule.
  </Accordion>

  <Accordion title="Can we see this on a live MyListing website?">
    This particular feature is highly specific to the site, so there are no live examples to show you.  This particular feature is highly specific to the site, so there are no live examples to show you. This particular feature is highly specific to the site, so there are no live examples to show you.

    Refer to the [MyListing Pro YouTube playlist](https://www.youtube.com/playlist?list=PLggJJkpjrMUbtAzIDmgHpVnyP6DUxuILT) to learn more.
  </Accordion>
</AccordionGroup>

## Additional Social Networks

MyListing covers the basics, but every directory is different. MyListing Pro understands these differences and provides the social networks your directory needs, so your listing owners have the best chance of being found.

You can enable each social network with a simple checkbox so it shows up in listing type setup, add listing forms, and single listings.

By default, MyListing turns every available social network on site-wide, but you can use each listing type’s **Customize field** option to pick which ones appear on that type.

**Highlights**

* More networks without custom code
* Works everywhere social links appear in MyListing
* Enable only what your site needs
* Listing type controls still work as before
* Safe across theme updates

**Frequently Asked Questions (Additional Social Networks)**

<AccordionGroup>
  <Accordion title="How do we set this up?">
    1. Edit the listing type → **Fields** tab
    2. Open the Social Networks field
    3. Turn on **Customize field**
    4. Check the networks for that type (built-in plus any extras you enabled)
    5. Save
  </Accordion>

  <Accordion title="Are there any tips or best practices?">
    **Enable only what your audience uses.** For example, Yelp and WhatsApp suit local businesses. TikTok and Patreon suit creators. Shorter lists are easier for listing owners.
  </Accordion>
</AccordionGroup>
