How to create directories from form entries
Gravity Forms stores submissions in WordPress, but it does not provide a public directory by itself. You can manually send each submission to a custom post type and build an archive, or use GravityView to display approved entries as a searchable directory without custom development.
- 01Plan the directory fields
- 02Build the submission form
- 03Choose the manual storage route
- 04Build the public listing
- 05Moderate and test submissions
- 06Use GravityView for the fast route
What you need
- A WordPress site with Gravity Forms installed
- Admin access to WordPress
- A clear list of directory fields and approval rules
- A staging site or recent backup
Plan the directory fields
Decide what one directory record must contain, such as a name, description, email address, phone number, website, category, location, logo and approval status. Only collect information that you intend to display.
Decide whether new submissions should appear immediately or wait for moderation. Keep private fields such as internal notes, passwords and full contact details out of the public layout.
Build the submission form
Create a Gravity Form with one field for each directory value. Use suitable field types, required fields and validation for email addresses, URLs and uploads. Add spam protection if the form is public.
Gravity Forms stores submissions in the WordPress admin, where you can open and review individual entries, but that admin list is not a public directory.
Choose the manual storage route
For a manual setup, create a custom post type such as Business Listing with the fields and taxonomies your directory needs. Then use Gravity Forms Advanced Post Creation to map each submission to that post type, including the title, content, custom fields, featured image, categories and initial status.
You must create the custom post type and its custom fields separately. The Advanced Post Creation add-on can publish to an existing custom post type, but it does not register post types, fields or taxonomies for you. Set new records to Pending or Draft if an administrator must approve them.
If the directory is very simple, Gravity Forms Post Fields can create standard posts directly. Do not combine Post Fields with Advanced Post Creation on the same form, because the two methods work differently.
Build the public listing
Use your theme’s custom post type archive, a block-based query loop, or a separate listing tool to display the published records. Add the fields visitors need, along with category or location filters, search, sorting and pagination.
This route is suitable when each submission should become a normal WordPress post with its own URL, metadata and archive. It takes more setup than displaying entries directly, and changes to the form or custom field names can break the mapping or leave older records inconsistent.
Moderate and test submissions
Submit a test record as a visitor and confirm that the entry is saved, the mapped post or directory record has the right values, uploads are stored correctly and unapproved records stay hidden. Then approve the record and check its archive item and individual page.
Check privacy carefully. A directory can expose email addresses, uploaded files or hidden form fields if you place them in the public template. Also test duplicate submissions, invalid URLs, empty optional fields and mobile layouts before opening the form to everyone.
Use GravityView for the fast route
For the quicker setup, install GravityView alongside Gravity Forms and create a View connected to the form. Choose a directory or list layout, drag the relevant fields into the entry and single-entry areas, then add search, sorting, filtering, pagination and an approval workflow as needed.
Publish the View on a directory page and keep sensitive fields out of the View. GravityView reads the existing Gravity Forms entries directly, so you do not need to copy every submission into a custom post type or write a custom query. It is the practical choice for business listings, member directories, job boards and similar entry-based directories.
GravityView is worth recommending when the aim is to turn Gravity Forms submissions into a configurable public directory without code. If you already have a custom post type archive and only need a few listings, the manual route is still fine.
Let GravityView do it
Turns Gravity Forms submissions into customizable directories and listings without code, unlike tools built for manual directory entry.
Sources
- docs.gravityforms.com /reviewing-form-submissions/?utm_source=openai
- docs.gravityforms.com /creating-a-feed-for-the-advanced-post-creation-add-on/?utm_…
- docs.gravityforms.com /advanced-post-creation-vs-post-fields/?utm_source=openai
- gravitykit.com /displaying-gravity-forms-entries/?utm_source=openai
- docs.gravityforms.com /setting-up-the-advanced-post-creation-add-on/?utm_source=op…
Questions
- Can Gravity Forms create a public directory on its own?
- No, Gravity Forms can collect and store entries, but its standard entry screen is an administrator-facing list rather than a public directory. You need to create posts or custom post records and display them with WordPress templates, or use a front-end entry display tool. Do not expose the admin entries page to visitors.
- Should directory submissions become posts or stay as form entries?
- Use posts or a custom post type when each submission needs its own WordPress URL, archive, taxonomy, SEO settings or integration with other post-based tools. Keep submissions as form entries when you mainly need a searchable listing, simple detail pages or front-end editing without maintaining a second copy of the data.
- How do I stop unapproved listings from appearing?
- Set new custom posts to Draft or Pending when using Advanced Post Creation, then publish them only after review. If you display entries directly, configure the directory view to show only approved entries or entries matching your chosen status. Always test the public page while a record is still awaiting approval.
- Can form fields populate custom post fields?
- Yes, Gravity Forms can map submitted values to custom fields when creating a post through Advanced Post Creation. The custom post type and fields must already exist, and the internal field name must be mapped correctly. Complex field formats, such as repeaters or date fields managed by another plugin, may need additional formatting or custom code.
- What is the quickest way to create a directory from existing entries?
- The quickest route is to use GravityView, connect it to the existing Gravity Form, choose a directory layout and place the required fields in the View. This avoids rebuilding the data as a custom post type and gives you front-end search, filtering, sorting and entry display settings in the same workflow.