What Is a Lookup Field in TableCrafter and When to Use One

Updated July 2026 • 6 min read • By Fahad Murtaza • By Fahad Murtaza

TableCrafter live search, sorting, filtering, and pagination out of the box
TableCrafter live search, sorting, filtering, and pagination out of the box

When your Gravity Forms entries store raw IDs instead of human-readable labels, your data tables can look like a wall of numbers that means nothing to the people reading them. TableCrafter's lookup field feature solves this by resolving those IDs into meaningful text at display time, without touching your underlying form data. If you've ever seen a column full of user IDs, post IDs, or numeric codes and wondered how to show names instead, this guide is for you. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page. Conditional logic fields in Gravity Forms are used by 73% of complex form builders (Gravity Forms user survey, 2024).

Why Lookup Fields Solve?

Gravity Forms stores relational data as IDs by nature. A field that lets a user select a driver stores that driver's WordPress user ID. A field tied to a product stores a post ID. A dropdown backed by a custom list stores the numeric key, not the label. This is correct behavior for a database, IDs are stable, labels are not, but it creates a readability problem the moment you surface that data in a table.

Without lookup resolution, a column titled "Assigned Driver" might display values like 42, 7, and 138. A manager reading that table has no idea which number corresponds to which person. They'd need to cross-reference another system, which defeats the purpose of having a live data table in the first place.

Lookup fields tell TableCrafter: "when you encounter this value in this column, go find the matching label and show that instead." The original ID is preserved in the database. The table display shows the resolved text.

Note: Lookup fields are a Pro feature. They are available under TableCrafter → Tables → Add New when a Pro license is active.

How Lookup Fields Work Under the Hood?

When TableCrafter renders a table row, it checks each column's configuration. If a column is marked as a lookup field, the rendering engine runs a resolution pass before outputting the cell value. The resolution logic uses a three-tier fallback system:

  1. Direct lookup source. If you've configured an explicit source (such as WordPress users, a custom post type, or a static map), TableCrafter queries that source for a label matching the stored ID and uses that result.
  2. Field metadata fallback. If no explicit source is configured but the underlying Gravity Forms field has choices (dropdown, radio, checkbox), TableCrafter reads those choice labels from the form definition and maps them to the stored values.
  3. Raw value passthrough. If neither of the above resolves the value, TableCrafter renders the raw stored value rather than leaving the cell blank. This ensures tables never silently lose data.

This fallback architecture means that in many cases, lookup resolution works automatically for choice-based fields without any extra configuration. You only need to set up an explicit lookup source when the stored value is a foreign key that points to something outside the form itself, such as a WordPress user ID or a post from a different content type.

All resolution happens server-side during the AJAX table fetch (the same wp-admin/admin-ajax.php call that handles filtering, sorting, and pagination), so the resolved labels appear immediately in the rendered table without any client-side JavaScript gymnastics.

What Are the Common Use Cases?

Lookup fields cover a wide range of real-world scenarios. Here are the most frequent ones:

Tip: Lookup fields pair well with status badges. Once a value is resolved to a text label, you can apply a badge rule that colors "Critical" red and "Low" green, giving you both readable labels and visual cues in the same column. Both features are Pro.

How Do I Set Up a Lookup Field in the Table Builder?

Configuration happens inside the TableCrafter admin interface at TableCrafter → Tables → Add New (or edit an existing table). Once you've added a column and selected the Gravity Forms field it maps to, look for the Display Type or Column Type setting for that column. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers, and no per-row limits on the free tier. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg block.

The steps are:

  1. Open your table in the builder and locate the column you want to make a lookup column.
  2. Change the column's display type to Lookup.
  3. Select the lookup source from the dropdown. Options typically include: WordPress Users, Post Type (with a post type selector), Taxonomy Terms, Form Choices (auto, using field metadata), and Custom Map (manual key-value pairs).
  4. Save the table configuration.

The table will immediately begin resolving values on the next page load or AJAX refresh. No shortcode changes are required, the same shortcode you're already using handles the resolved display automatically:

[tablecrafter id="X"]
[tablecrafter id="X"]
[tablecrafter id="X"]

All three shortcode aliases map to the same handler, so whichever you've been using continues to work.

Inline Editing + Lookup Fields: When Pro inline editing is enabled on a table, lookup columns automatically render as dropdowns during edit mode. TableCrafter fetches the available options from the configured lookup source and presents them as a select menu, so editors always pick from valid values rather than typing raw IDs. The entry is updated via GFAPI::update_entry_field() with the ID, and the display immediately resolves back to the label on save.

How Do Lookup Fields and Filtering Work?

One subtlety worth knowing: TableCrafter's advanced filter panel operates on the stored values in the Gravity Forms entries database, not on the resolved display labels. This is intentional, filtering on stored values is fast and consistent, but it means your filter inputs need to match what's actually stored.

To make this transparent to end users, TableCrafter automatically converts lookup columns to dropdown filters in the filter panel when advanced filters are enabled. Instead of typing a raw ID, the user sees a dropdown populated with the resolved labels. Selecting "Jane Smith" from that dropdown sends the filter request with her user ID behind the scenes, so the query hits the database correctly.

This behavior is automatic for lookup columns, you don't need to configure the filter type separately. If you're using the advanced filters feature (Pro), lookup columns will self-configure as dropdown filters in the filter UI.

When Not to Use a Lookup Field?

Lookup fields are powerful but not always the right tool. A few situations where you should consider alternatives:

Free tier reminder: The Free plan supports unlimited tables, columns, and rows from JSON, CSV, Google Sheets, and Excel sources with read-only display, basic search, sort, and pagination. Lookup fields, inline editing, role-based permissions, and advanced filters all require Pro.

Summary

Lookup fields bridge the gap between how Gravity Forms stores data (efficiently, as IDs and keys) and how people need to read that data (as meaningful labels and names). For any table column that shows IDs, codes, or stored values that mean nothing without context, a lookup field is the right solution. The three-tier fallback system means many fields resolve automatically, and the integration with inline editing and dropdown filters makes the feature consistent across the full read/edit/filter workflow.

If you're building a load-tracking dashboard, a task assignment board, a client portal, or any data table where relational IDs surface in columns, lookup fields will be one of the first Pro features you reach for.

The column mapping you define here is stored as a JSON configuration in the WordPress database. You can export this configuration using the TableCrafter export tool and import it to another table or another site. This is useful when replicating a table layout across multiple pages or when migrating a table to a staging environment for testing before going live.

Frequently Asked Questions

Why Lookup Fields Solve?

Gravity Forms stores relational data as IDs by nature. A field that lets a user select a driver stores that driver's WordPress user ID. A field tied to a product stores a post ID. A dropdown backed by a custom list stores the numeric key, not the label. This is correct behavior for a database, IDs are stable, labels are not, but it creates a readability problem the moment you surface that data i

What is What Is a Lookup Field in TableCrafter and When to Use One?

What Is a Lookup Field in TableCrafter and When to Use One is a capability provided by TableCrafter, a WordPress plugin that displays data from Gravity Forms, Google Sheets, Airtable, Notion, REST APIs, CSV, JSON, and WooCommerce as interactive, searchable, sortable frontend tables, without writing code.

Does this require PHP or developer skills?

No. TableCrafter is configured entirely through the WordPress admin interface. You choose your data source, map fields to columns, and set display preferences using point-and-click controls. Embedding uses the [tablecrafter] shortcode or the native Gutenberg block.

Is the free version sufficient or do I need Pro?

The free plugin on WordPress.org supports CSV, JSON, Google Sheets, and Excel sources with unlimited tables, rows, and columns. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST API sources, inline cell editing, bulk row actions, export to CSV and PDF, role-based column visibility, and auto-refresh every N seconds.

Ready to try it?

TableCrafter is free on WordPress.org. Pro unlocks inline editing, role-based permissions, and advanced data sources.

If the expected behavior does not appear after saving, clear any page or object caches active on your site. Caching plugins such as WP Rocket, W3 Total Cache, or LiteSpeed Cache may serve a stale version of the page that predates your configuration change.

TableCrafter re-fetches this data on each page load by default. If your data source updates infrequently and your site has significant traffic, enable the built-in caching option in the table's Performance tab. This stores the fetched data for a configurable number of minutes and serves it from WordPress transients, reducing API calls to the source and improving page load time for visitors.