Skip to content
Gravity Tables

Reference

Glossary.

Every primitive Gravity Tables uses, defined in plain English with links to the doc or guide where it's used in anger. 17 terms.

A

Allowed roles

# also: View access, Read gate

The first permission layer, controls who can see a table at all.

The allowed_roles="..." shortcode parameter restricts table visibility to a comma-separated list of WordPress roles. Anyone outside the allow-list gets the table's configured fallback (a 403 page, a "log in to view" message, or hidden silently depending on configuration). Layer 1 of the three-layer permission model.

See also Permissions doc Role-based table permissions guide

Audit log

#

The system-of-record for every cell edit, export, and bulk action.

Enabled with audit_log="true". Every change records: entry id, field id, old value, new value, user id, IP address, timestamp. Exports record the column set + filter state at the moment of export. Bulk actions record the affected entry ids + the action name. Queryable from Tables → System → Audit log in WordPress admin.

See also Security page Permissions doc

Auto-refresh

# also: Live polling, Live update

Polling that keeps a table current without a manual page reload.

Enabled with auto_refresh="true" and tuned with refresh_interval="60" (seconds). When a new entry arrives, the table redraws on the next poll without losing the user's scroll position, search input, or active filters. Useful for moderation queues, live dashboards, support inboxes.

See also Build a moderation queue Shortcode reference

B

Bulk action

#

An operation applied to multiple selected rows at once.

Configured via bulk="approve,delete,export". Rows have a leading checkbox; selecting them and choosing an action runs it server-side as a single transaction. Custom bulk actions register through the gt_register_bulk_actions PHP filter.

See also Hooks → bulk action registration Build a moderation queue

C

Cell editing

# also: Inline editing, Frontend editing

In-place editing of a single table cell, with the GF validation pipeline applied.

When a column is listed in allow_edit="..." and the user has the gate role, double-clicking (or tapping on mobile) opens an inline editor for that cell. Saving runs the same validation as a form submission and writes through GFAPI::update_entry_field().

See also Add inline editing to Gravity Forms

E

Edit permissions

#

Per-column role gates on which fields a given role can edit inline.

The edit_permissions="column:role,..." shortcode parameter sets a different role requirement per editable column. A rep can update notes, only the manager can change value. Layer 3 of the three-layer permission model.

See also Permissions doc Role-based table permissions guide

Export

#

Downloading the current table view as CSV, Excel (.xlsx), or PDF.

The toolbar export button respects active filters, search input, and column visibility, so what you see is what you get. CSV and Excel are native; PDF uses the dompdf engine. Exports are written to the audit log with the active column set + filter state.

See also Exports doc Export Gravity Forms entries (guide)

F

Filter

#

A constraint applied to which rows the table renders.

Two flavors: server filters declared in the shortcode (filter="status:approved") that apply on every page load, and user filters the visitor toggles via dropdown chips (filters="status,priority"). User filters can also be deep-linked through gt_filter_* URL parameters.

See also Filtering doc

Filter chip

#

The dropdown UI control above the table that toggles a user filter.

Each column listed in the filters="..." shortcode parameter renders as a chip. Chips are multi-select for enum-style fields (status, category) and range-pickers for numeric or date fields. Active chips show a count and a clear-x.

See also Filtering doc

G

Group by

# also: Roll-up, Pivot

Roll up rows by one or more columns, with aggregate columns.

group_by="status,owner" collapses identical (status, owner) rows into one and exposes virtual aggregate columns: _count (row count), _sum_value (numeric sum), _avg_value, _min_value, _max_value. Useful for management dashboards (pipeline by rep × stage).

See also Build a CRM lead dashboard

L

Lookup field

#

A column that resolves an entry id (or post id, user id) to a human-readable value.

Defined per column with lookup_field="user.display_name" or lookup_field="post:42.title". Lets a table show "Sarah Chen" instead of 42, while keeping the foreign key intact for editing and filtering.

See also Shortcode reference → columns

M

Mobile cards

#

The single-column card layout the table switches to on small screens.

Below 480px, each row renders as a stacked card with column labels above values. Editing, filtering, and bulk select all still work, just thumb-sized. Toggle with mobile_layout="cards" (default) or mobile_layout="scroll" for a horizontal-scroll table on phones.

See also Styling and customization

P

Per-user filtering

#

Auto-scoping a table to the rows belonging to the logged-in user.

filter_user_owns="owner" (or any column that stores a user id) restricts the rendered rows to ones where that column matches the current user. The role gate is ANDed with this, so sales-manager overrides per-user scoping if combined with a higher allowed role.

See also Show users only their own entries Build a customer portal

S

Saved view

# also: Pre-filtered link, Smart URL

A pre-filtered URL that loads the table in a known starting state.

Gravity Tables reads gt_filter_*, gt_sort, and gt_search query parameters as initial state. Bookmark /sales/leads?gt_filter_status=qualified>_sort=value:desc and the table loads with that exact view. Useful for "My open leads" / "Overdue" / "This week" navigation strips.

Shortcode

#

The [gravity_table] markup that renders a table on a WordPress page.

Every Gravity Tables feature is a parameter on the shortcode, by design. If a feature can't be expressed as a shortcode parameter, its scope is wrong. This keeps the surface area discoverable and prevents the "find the setting in some admin nested tab" problem.

See also Shortcode reference Cheat sheet

Status field

#

A common workflow primitive, a hidden field that tracks an entry's state.

Not a built-in concept; it's a pattern. Add a Hidden field to your form named status, default to pending, and a small set of allowed values (approved, rejected, won, lost). The table edits this field inline. Combined with filter="status:pending", you get a self-narrowing moderation queue.

See also Build a moderation queue Build a CRM lead dashboard

T

Totals row

#

A row that aggregates the visible rows.

totals="value,quantity" adds a footer row with sum (default), avg, count, min, or max for each named column. The totals respect active filters, narrow the table to "this week" and the totals recalculate live. The _sum_*, _avg_* virtual columns referenced by group_by use the same aggregate engine.

See also Shortcode reference → totals

Missing a term?

If you searched for it and didn't find it, that's a bug.

Email info@fahdmurtaza.com with the term you expected to see. We add it.

Ready when you are

Stop exporting CSVs. Start shipping dashboards.

10 days of full Pro access. If it doesn't pay for itself in the first week, you don't have to keep it.