How to Set Default Visible Columns in a WordPress Table

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

TableCrafter table builder, connect Gravity Forms, Google Sheets, Airtable, CSV, or JSON data sources
TableCrafter table builder, connect Gravity Forms, Google Sheets, Airtable, CSV, or JSON data sources

When your Gravity Forms data contains dozens of fields, showing every column by default turns a useful table into an overwhelming wall of data. TableCrafter's column visibility system lets you choose exactly which columns appear on first load, keeping the display focused while still letting users reveal additional columns whenever they need them. This guide walks through every approach to controlling default column visibility, from the no-code admin builder to shortcode attributes. 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 with a [tablecrafter] shortcode or the. Over 60,000 plugins are available on the WordPress.org plugin directory (WordPress.org, 2026).

Why Default Column Visibility Matters?

A WordPress table that surfaces too many columns at once creates real usability problems. Horizontal scrolling breaks the reading flow on mobile devices, users spend time scanning columns they never act on, and the table's primary purpose, surfacing the most actionable data, gets buried in noise.

TableCrafter handles this in two complementary ways. First, you control which columns are visible by default when the table loads. Second, Pro users can expose a column visibility picker in the table toolbar, so end users can toggle columns themselves without touching the admin. The two features work together: you set sensible defaults, and users can customize from there.

Free vs Pro: Selecting which columns to include in a table is available on the Free tier. The runtime column visibility picker that lets site visitors toggle columns is a Pro feature.

How Does Step 1, Open the Table Builder Work?

Navigate to TableCrafter → Tables in your WordPress admin sidebar. Click Add New to create a table, or click the name of an existing table to edit it. The table builder opens with a tabbed interface covering data source, columns, filters, display settings, and permissions.

Select your data source first. If you are using Gravity Forms, the primary data source for most installations, choose Gravity Forms and select the form from the dropdown. TableCrafter will automatically detect all available fields from that form and make them available as column candidates.

After completing this step, verify the result by viewing the page as a logged-out visitor in an incognito window. This confirms the table behaves correctly for public visitors rather than reflecting admin-level permissions that may hide configuration issues during initial setup. Check both the rendered output and the browser console for any JavaScript errors.

Other data sources: Google Sheets, REST API, Airtable, and WooCommerce sources follow the same column configuration flow once the connection is established. The column visibility controls described in this guide apply identically across all data sources.

How Does Step 2, Configure Column Visibility in the Columns Tab Work?

Switch to the Columns tab in the table builder. This is the primary place to control which columns are included in the table and in what order they appear.

Each row in the column list represents one field from your data source. For every column you can set:

To hide a column by default, enable it (so it exists in the column set) but toggle its default visibility to Hidden. The column is part of the table's data model, it can be revealed by users with the column picker, exported, and used in filters, but it does not take up screen space on first load.

To remove a column entirely from the table (not just hide it), disable the toggle for that column. Disabled columns are invisible to users and excluded from exports.

Column limit: The Free tier supports unlimited columns per table. All columns are available on the free tier; the runtime column-visibility picker that lets visitors toggle columns is Pro.

How Does Step 3, Enable the Column Visibility Picker Work? Pro

Once you have set your default visible columns, you can optionally give site visitors control over the column display. Switch to the Display tab in the table builder and look for the Column Visibility Picker option. Enabling this adds a "Columns" button to the table toolbar above the data rows.

When a visitor clicks that button, a dropdown appears listing every enabled column with a checkbox next to each one. Columns you marked as hidden by default appear unchecked; visible columns appear checked. Visitors can toggle columns freely without any page reload, TableCrafter handles the show/hide via client-side JavaScript.

The picker state is per-session and does not persist across page refreshes by default. This means every page load returns to your configured defaults, which is the behavior most sites want. If you need to persist user preferences, that is a customization typically handled via a small JavaScript snippet that reads and writes to localStorage.

Role filtering: Combined with TableCrafter's Pro column-level permissions, you can make certain columns visible only to specific WordPress roles. A column hidden via role permissions does not even appear in the visibility picker for unauthorized users, it is fully absent from their view, not merely unchecked.

How Does Step 4, Override Defaults with Shortcode Attributes Work?

The table builder controls are the recommended approach for most use cases, but TableCrafter also supports per-embed overrides through shortcode attributes. This is useful when you want to reuse the same table configuration in multiple places with slightly different default visible columns each time.

All three shortcode aliases map to the same handler:

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

To control which columns are visible for a specific embed, use the visible_columns attribute and pass a comma-separated list of column IDs or field numbers:

[tablecrafter id="12" visible_columns="1,3,7,entry_date"]

Column identifiers correspond to the Gravity Forms field IDs for GF-backed tables, or the field keys configured in the column builder for other data sources. You can find the field ID for any column by hovering over the column row in the table builder, the ID appears in the tooltip or in the URL when you expand the column settings.

When visible_columns is provided in the shortcode, it overrides the per-column default visibility settings from the table builder for that specific embed only. The saved table configuration remains unchanged, and other embeds of the same table use the builder defaults.

Shortcode scope: Shortcode attribute overrides affect the initial render only. If the column visibility picker is enabled, users can still toggle columns after the page loads, starting from whatever state the shortcode produces.

How Do Practical Patterns and Recommendations Work?

A few patterns come up repeatedly when configuring default column visibility across different types of sites:

Show summary columns, hide detail columns. For a load tracking table like AJS Trucking's setup, you might show Driver, Date, Origin, Destination, and Status by default, then hide Weight, Rate, Notes, and Internal ID. Users who need the detail columns can reveal them via the picker.

Mobile-first column selection. Think about which columns are essential on a narrow screen. If your table is embedded on a page visitors frequently reach from mobile devices, favor 3-4 high-value columns as visible defaults and hide the rest. TableCrafter's responsive mode will collapse to horizontal scroll if too many columns are visible simultaneously on small viewports.

Use role-based visibility for sensitive data. Pro column-level permissions are the right tool when a column should never appear for a given role, not just hidden by default, but actually absent. Default visibility controls are for UX convenience; permissions controls are for data security. Do not rely on default visibility to protect sensitive columns from being seen by the wrong users.

Export includes all enabled columns. When users export to CSV, Excel, or PDF, TableCrafter exports all enabled columns regardless of their default visibility state. If a column should never appear in exports for certain users, use column-level permissions rather than hiding it by default.

Test with a fresh browser session. After saving your column configuration, open the page containing the table in an incognito window to see exactly what a first-time visitor sees. This eliminates any cached state from your admin session and confirms the defaults are behaving as expected.

Caching note: If you use a caching plugin (WP Rocket, NitroPack, W3 Total Cache, etc.), purge the page cache after changing column visibility settings. Cached HTML will continue to reflect the previous configuration until the cache is cleared.

Frequently Asked Questions

How Does Why Default Column Visibility Matters Work?

A WordPress table that surfaces too many columns at once creates real usability problems. Horizontal scrolling breaks the reading flow on mobile devices, users spend time scanning columns they never act on, and the table's primary purpose, surfacing the most actionable data, gets buried in noise.

What Is TableCrafter?

TableCrafter is a WordPress plugin that turns data from Gravity Forms, Google Sheets, Airtable, Notion, REST APIs, CSV files, and WooCommerce into interactive, sortable, filterable frontend tables. Embed any table on any WordPress page with the [tablecrafter] shortcode or the native Gutenberg block. No PHP or custom development required. The free version supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV and PDF, role-based column visibility, and auto-refresh.

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.