Skip to content
GPLWP Guides

How to display entries from multiple forms in one view

Forms Time About 30 minutes with a plugin, or several hours for custom code 6 steps Updated 25 Sep 2026

FORMS
The short answer

Gravity Forms does not provide a front-end view that combines several forms by itself. You can build one with custom PHP using the Gravity Forms API, but a view plugin is faster for joins, combined lists, filtering, pagination and front-end editing.

The route
  1. 01Choose join or union
  2. 02Check the native limits
  3. 03Build the manual view
  4. 04Protect and paginate results
  5. 05Test mismatched entries
  6. 06Use GravityView for the fast route

What you need

  • Gravity Forms with entries already collected
  • Administrator access to WordPress
  • A shared field if you are joining related entries
  • A safe place for custom PHP, if using the manual route

Choose join or union

Decide how the entries should appear. Use a join when two forms contain related information, such as a customer form and an order form, and you want matching records displayed in one row. The forms need a shared value such as an email address, reference number or customer ID.

Use a union when the forms collect similar records and you want to stack all entries into one list. A union does not require a shared field, but matching fields should use compatible formats if you want consistent columns.

Check the native limits

Gravity Forms lets you review entries from the WordPress admin, but its standard Entries screen is centred on one selected form at a time. It does not provide a ready-made public page that combines several forms into one table.

If you only need an administrator export, exporting each form separately may be enough. For a public, searchable or editable view, plan on custom development or an additional view plugin.

Build the manual view

For a custom solution, use the Gravity Forms PHP API and call GFAPI::get_entries() for the form IDs you need. Gravity Forms documents this method for retrieving entries with search criteria, sorting and paging, and its REST API can also request entries from multiple form IDs.

Then write a shortcode, block or template that combines the returned arrays, adds a form identifier to each record, sorts the combined results and outputs an HTML table. For a join, compare the shared field before rendering. For a union, map equivalent fields into the same columns and leave unavailable values blank.

Protect and paginate results

Do not print entry values directly into the page. Escape output, restrict the view to the fields visitors should see, and check the current user before showing private submissions. If users can edit entries, add capability checks and validate every update.

Fetch entries in pages rather than loading the entire database. Gravity Forms documents paging for GFAPI::get_entries(); without it, a growing form can make the page slow or cause a timeout.

Test mismatched entries

Test records that have no matching entry, duplicate shared values, blank fields, spam entries and a large number of submissions. A join can create multiple rows when one record matches several records in the other form, so confirm that this is what you want before publishing.

Also test the page while logged out. A view that works for an administrator may accidentally expose names, email addresses, payment details or other entry fields to everyone.

Use GravityView for the fast route

For most sites, install GravityView and its Multiple Forms extension, create a new View, choose the primary form and add a merge condition. Select Join to match related entries by one or more fields, or select Union to stack entries from multiple forms into one list. You can then add fields from each form, configure filters and publish the View on a page.

Enable strict entry matching when rows without a connected record should be hidden. GravityView is the quicker option when you need a maintained front-end table, search, filtering or front-end editing without writing and maintaining the data-query code yourself. Its documentation also lists limitations for some combined-form editing features, so test editing before promising it to users.

The fast route

Let GravityView do it

Combines related submissions into one customizable view with filtering and front-end editing, ideal for multi-form workflows.

Get GravityView

Sources

  1. docs.gravityforms.com /entries/?utm_source=openai
  2. docs.gravityforms.com /searching-and-getting-entries-with-the-gfapi/?utm_source=op…
  3. gravitykit.com /display-data-multiple-forms/?utm_source=openai
  4. gravitykit.com /displaying-gravity-forms-entries/?utm_source=openai

Questions

Can Gravity Forms display entries from several forms by itself?
No. Gravity Forms can display and manage entries in its admin area, but the standard Entries screen is selected by form and does not create a public combined view. You can build one with custom PHP using the Gravity Forms API, or use a view plugin that supplies the front-end layout, filtering and pagination.
What is the difference between joining and merging form entries?
A join matches related entries from different forms and displays their fields together, usually using an email address, ID or reference number. A union stacks entries from several forms into one list, with one row per entry, and does not require a shared field. Choose the operation based on whether you need wider rows or a longer list.
Can I combine forms with different fields?
Yes, but you must decide how the columns should map. In a union, equivalent fields from each form can share a column while fields found in only one form remain blank for other rows. In a join, unrelated field structures are acceptable, but the matching field must contain compatible values or entries will not connect correctly.
Why are some combined entries missing or duplicated?
Missing rows usually mean the join field is blank, formatted differently or has no matching value. Duplicates can occur when one entry matches several entries in the connected form, because the result represents each match. Check the field values, remove accidental duplicate keys and enable strict matching when unmatched primary entries should not appear.
Will a combined view slow down my WordPress site?
It can, especially when the view loads thousands of entries without pagination or filters. Use paging, restrict the displayed fields and avoid loading every record into the browser. A view tool with server-side or controlled querying is usually easier to maintain than a custom page that retrieves the whole entry database at once.