How to Connect WooCommerce Orders to TableCrafter

Updated July 2026 • 7 min read • 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

TableCrafter connects directly to WooCommerce as a first-class data source, pulling live order data into a filterable, searchable frontend table without custom queries or third-party sync tools. This guide walks you through every step: enabling the source, mapping fields, and placing the shortcode on any page. 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 native Gutenberg block. WordPress plugin activation rates are highest in the first 48 hours after a feature update (WP Engine Developer Survey, 2024).

Prerequisites

Before you start, confirm you have:

This setting persists across table rebuilds. If you change the data source later, you may need to revisit this step to remap columns from the new source to the existing table configuration.

If this step produces unexpected output, check the source data directly in the connected system. TableCrafter passes data through without modification — if a cell displays an unexpected value, the source record contains that value. Use the TableCrafter debug log (Settings > Advanced > Debug Mode) to trace the exact query sent to the source and the raw response received, which narrows the diagnosis to either a source-side or rendering-side issue.

Step 1: How Do I Enable the WooCommerce Data Source?

Go to TableCrafter → Settings → Data Sources in your WordPress admin. You will see a list of available source adapters. Find WooCommerce Orders and toggle it on. Save the settings page.

TableCrafter registers a REST-style adapter that queries the wc_orders table (WooCommerce High-Performance Order Storage, HPOS) or the legacy wp_posts + wp_postmeta structure, depending on which storage mode WooCommerce is using. You do not need to change anything in WooCommerce itself; TableCrafter detects the storage mode automatically.

The shortcode accepts all column and filter settings defined in the table builder as defaults, but you can override individual parameters inline. For example, `[tablecrafter id="1" per_page="25"]` overrides the default rows-per-page setting for this specific embed without changing the saved table configuration. This lets you reuse one table definition across multiple pages with different display requirements.

HPOS vs. Legacy Storage: If you recently migrated to HPOS (WooCommerce → Settings → Advanced → Features), TableCrafter reads from the new wc_orders tables. Legacy mode reads from wp_posts. Both are supported. Field names in the mapper are identical either way.

Step 2: How Do I Create a New Table Configuration?

Go to TableCrafter → Tables → Add New. Give your table a name you will recognise later, for example WooCommerce Orders, Main. In the Data Source dropdown, select WooCommerce: Orders. 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 field mapper panel will populate with every field WooCommerce exposes for orders. The full list is long; the fields you are most likely to need in a first table are described below.

Step 3: How Do I Understand the Fields WooCommerce Exposes?

TableCrafter groups WooCommerce order fields into five categories in the field mapper:

Core Order Fields

Customer Fields

Shipping Fields

Line Item Fields (flattened)

By default TableCrafter flattens line items so each order appears as one row showing the first product. Enable Expand line items in the table config to show one row per product per order.

Meta Fields

Any order meta key stored in wc_orders_meta (HPOS) or wp_postmeta (legacy) is available as meta:your_key. TableCrafter scans the most recent 200 orders to auto-detect meta keys and surfaces them in a Custom Meta section of the mapper.

Step 4: How Do I Map the Fields You Need?

In the field mapper, drag the fields you want into the Visible Columns area. A sensible starting configuration for a general-purpose orders table is:

  1. order_id, label: Order #
  2. order_date, label: Date, format: MM/DD/YYYY
  3. billing_first_name + billing_last_name, you can merge these into one column using the Computed Column option and the template {billing_first_name} {billing_last_name}
  4. billing_email, label: Email
  5. order_status, label: Status
  6. order_total, label: Total, format: Currency

Set order_id as the default sort column (descending) so newest orders appear first.

This configuration interacts with any caching or CDN layer active on your WordPress installation. If you use WP Rocket, LiteSpeed Cache, or a CDN such as Cloudflare, flush the page cache after making this change to ensure the updated configuration is reflected in the cached HTML served to visitors. TableCrafter's server-side output is regenerated on the next uncached request.

Step 5: How Do I Configure Permissions?

In the Access tab of the table config, set Minimum role to view to Shop Manager (or Administrator). This means only users with at least the Shop Manager role can see the table — visitors and regular customers will see nothing even if they reach the page with the shortcode. Leave edit permissions off for now; inline editing of WooCommerce order data through TableCrafter is covered in a separate guide.

If you are building an internal dashboard that your whole team should access, set the minimum role to Editor or lower. If the table is strictly for the site owner only, Administrator is the most restrictive option. TableCrafter checks this permission on every table render request, server-side, so there is no client-side bypass possible.

TableCrafter validates this configuration on save. If validation fails, the admin panel displays a specific error message identifying which field caused the problem. Correct the field value and save again without needing to restart the setup process.

Step 6: How Do I Save and Get the Shortcode?

Click Save Table. TableCrafter assigns a numeric ID to the configuration, look for it in the URL bar (?page=tablecrafter&table_id=3) or in the table list. Your shortcode is:

[tablecrafter id="3"]

Paste that shortcode into any WordPress page, post, or widget area. The table will render with live WooCommerce data on the frontend.

This step is required before the table can render data. Skipping it or entering incorrect values will result in a connection error when the table first loads. Double-check the value by pasting it directly into the field rather than typing it manually to avoid whitespace or encoding issues.

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.

Step 7: How Do I Add Search and Export (Optional)?

Extend the shortcode with additional attributes to enable built-in features:

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.

[tablecrafter id="3" search="true" export="true"]
Performance tip: WooCommerce stores can have tens of thousands of orders. Set a Date Range Default in the table config (for example, last 90 days) so the initial page load queries a bounded set. Users can still clear the filter to see all orders.

How Does Troubleshooting Common Setup Issues Work?

The WooCommerce source does not appear in the dropdown

Confirm WooCommerce is active and that TableCrafter is version 7.0 or later. Check TableCrafter → Settings → Data Sources, the toggle may need to be saved after enabling.

The field mapper shows no fields

TableCrafter needs at least one order to detect field types. Place a test order in your store or use WooCommerce → Orders → Add Order to create a manual order, then reload the mapper.

Orders show 0 results on the frontend

The most common cause is the Minimum role to view setting being higher than the current user's role. Log in as an admin to confirm data loads, then adjust permissions.

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.

What Are the Next Steps?

With the basic connection in place you can extend the table in several directions: add status filters, enable inline editing for shop managers, or restrict the table to show only the current customer's own orders. Each of those configurations is covered in the other guides in this series.

If the result does not match expectations after saving, use the TableCrafter debug log (enable via TableCrafter Settings > Advanced > Debug Mode) to trace exactly which configuration value is being applied for the current request.

The configuration you set here applies to every visitor who loads a page containing this table, regardless of whether they are logged in. Role-specific overrides for columns and rows are a separate layer and do not replace these global display settings. Apply global settings first, then add role restrictions as needed for tables that serve multiple user types.

Frequently Asked Questions

How Do I Enable the WooCommerce Data Source?

Go to TableCrafter → Settings → Data Sources in your WordPress admin. You will see a list of available source adapters. Find WooCommerce Orders and toggle it on. Save the settings page.

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.

The setting is stored in the WordPress options table under the table's configuration key. It does not modify the original data source and can be changed at any time without affecting the underlying records.

This step completes the connection between your data source and the TableCrafter table engine. Once saved, the plugin caches the connection credentials in the WordPress options table and uses them on every subsequent page load. If you update the source configuration later — for example, rotating an API key or changing a sheet URL — return to this step, enter the new value, and save again. The table updates immediately on next load without any shortcode changes.