How to customize form entry layouts in WordPress
Gravity Forms lets you manage submissions in WordPress, but it does not provide a built-in front-end entry layout builder. You can customise existing markup with CSS or build a custom display with PHP, while a GravityView layout extension is the faster option for drag-and-drop field placement.
- 01Decide where entries should appear
- 02Use the built-in admin options
- 03Style the existing output
- 04Build the manual custom route
- 05Choose the entry view structure
- 06Use the faster layout builder route
What you need
- A WordPress site with Gravity Forms installed
- Administrator access to WordPress
- A form with at least one saved entry
- A staging site or recent backup for code changes
Decide where entries should appear
First decide whether you are changing the WordPress admin entry screen or displaying entries on a public or logged-in page. Gravity Forms lets administrators manage entries in wp-admin, but it does not include a built-in front-end entry display or layout builder.
For an admin-only list, you may only need to choose visible columns and adjust styling. For a directory, dashboard, client portal or profile page, you need a custom display method.
Use the built-in admin options
Open the form's Entries screen and use its column controls to decide which fields appear in the list. This is suitable when staff only need a more useful back-office list, rather than a redesigned public page.
For developer-led changes, Gravity Forms documents filters such as gform_entries_column_filter, gform_entries_field_value and gform_entry_detail_grid_display_empty_fields. These can alter values, columns or empty-field display, but they do not provide a visual drag-and-drop layout editor.
Style the existing output
If your entry display already exists, use CSS to change spacing, colours, typography, borders and responsive behaviour. Add the CSS in your child theme or the relevant custom CSS area, and scope it to the page or entry container so it does not change every form on the site.
CSS can rearrange simple blocks with grid or flexbox, but it cannot reliably create missing fields, add search and pagination, or control who can see each entry. Test at mobile width as well as desktop width.
Build the manual custom route
A developer can retrieve entries with Gravity Forms' GFAPI::get_entries(), then render the values in a custom WordPress template, shortcode or block. This gives you full control over the HTML and field order.
You must also build and maintain access checks, escaping, pagination, filtering, search, empty states and any front-end editing. Do not print raw entry values without escaping them, and do not expose private fields simply because the page URL is hard to guess.
Choose the entry view structure
For a custom display, separate the list view from the detail view. A table works for dense records, while cards or a two-column layout suit directories and profiles. Keep important identifying information near the top and hide sensitive fields unless the viewer has permission to see them.
If you use GravityView, its editor supports separate Multiple Entries, Single Entry and Edit Entry layouts, so the listing, detail page and editing form do not have to share the same arrangement.
Use the faster layout builder route
For most site owners, install GravityView, connect it to the relevant Gravity Forms form, choose a view layout and place the fields in the Multiple Entries or Single Entry area. Then set the view's permissions, add the page or post where it should appear, and test it while logged out.
When you need field-level styling and more flexible rows, columns or cards, the GravityView DIY Layout Extension is the faster route. It adds a drag-and-drop layout interface, responsive layouts, field ordering and styling controls, live preview and display options such as lists, tables and grids. Use the manual route when the admin list or a small CSS change is enough; use the extension when building the markup yourself would take longer than maintaining the view.
Let GravityView DIY Layout Extension do it
Drag-and-drop entry layouts with field-level styling, ideal when standard form-entry views lack the display flexibility you need.
Sources
- gravitykit.com /displaying-gravity-forms-entries/
- docs.gravityforms.com /category/developers/hooks/filters/entry-filters/
Questions
- Can Gravity Forms display entries on a public WordPress page by itself?
- No, Gravity Forms does not include a built-in front-end entry display for public pages. Its normal Entries screen is an administrator-facing area, while merge tags are mainly intended for notifications and confirmations. You need custom PHP or a display add-on to show entries on a page, with access rules added before publishing sensitive data.
- Can I customise an entry layout with CSS only?
- Yes, CSS is enough when the fields are already output and you only need to change spacing, colours, widths or responsive behaviour. CSS is not enough for search, pagination, permissions, new fields or a dependable custom entry template. For those changes, use custom PHP or an entry-display plugin with its own layout controls.
- What is the manual way to create a custom entry layout?
- The manual method is to retrieve matching entries with <code>GFAPI::get_entries()</code> and render them in a custom template, shortcode or block. You must handle escaping, permissions, filtering, pagination, empty results and maintenance yourself. This is practical for a developer with a very specific design, but it is more work than configuring a dedicated view builder.
- Why does my layout look correct for administrators but not visitors?
- The most common cause is an access or caching difference. Check the view's permissions, make sure visitors are allowed to see the page and confirm that private fields are not being hidden only because you are logged in. Clear page and CDN caches, then test in a private browser window with a user account that should have the intended access.
- Do I need a separate layout for the entry list and detail page?
- Not always, but separate layouts are usually clearer. A list should show only the fields needed for scanning, while a detail page can show the full record, files and actions. GravityView supports separate Multiple Entries and Single Entry layouts, allowing you to use different field orders and structures for each screen.