Data tables overview
5 min read
A data table is a table of your own records, stored in a real database table, independent of posts, users or terms. Think of a price list, a list of cities, a store directory, a set of leads or a product catalog. Each column is a field with its own type (text, number, date, select, image ...) and its own database column; each row is one record.
Open WPM Fields › Data Tables (wp-admin/admin.php?page=wpmcf-data-tables). The same screen is reachable from the Data Tables link in the plugin header.
Data tables are a Pro feature. On the free plugin there is no Data Tables screen; the Pro page lists the feature.
What you can do with a data table
Task | Where it is explained |
|---|---|
Define the columns | |
Add, find, edit and delete rows by hand | |
Fill the table from a CSV file | |
Take all rows out again | |
Keep the table in step with a Google Sheet, your posts, your categories or WooCommerce products | |
Print rows on a page as a table or as cards | |
Collect rows from visitors with a form | |
Save the submissions of Contact Form 7, Gravity Forms, WPForms or Fluent Forms | |
Generate thousands of pages from the rows |
Where rows come from
A table can be filled in any mix of these ways. They all end up in the same table and follow the same column rules.
- By hand, one row at a time, on the Entries tab.
- CSV import, from a file you upload.
- A data feed: a Google Sheets link, or a live read of your WordPress content (posts of a post type, categories and tags, WooCommerce products).
- Front-end forms and form connections, which add a row for every submission.
- Programmatic SEO reads a table; the page editor can also change a row (see the Programmatic SEO section).
How a table is stored
- Each table is a database table named
{prefix}wpmcf_src_{key}, for examplewp_wpmcf_src_cities. It is created when you save the table and removed when you delete it. - Every table has the columns ID (a whole number that never repeats),
created_atandupdated_at, plus one database column per column you define. - Because they are real columns, indexes and Unique work and big tables stay fast. Importing and syncing never empties the live table first.
- A table has at most 100 columns.
Column types
Only types that make sense in a table of records can be used. In the column builder you can choose:
Group | Types |
|---|---|
Text | Text, Text area, Email, URL, Password, WYSIWYG editor, oEmbed |
Numbers | Number, Range |
Choice | Select, Radio buttons, Button group, True / false |
Date and time | Date, Date and time, Time |
Appearance and media | Color picker, Icon picker, Image, File |
References | Post object, Page link, Programmatic SEO page |
These are not available for a table: Checkboxes, Link, Group, Repeater, Relationship, Taxonomy, User, Gallery, Flexible content, Clone, Map and the layout types (Accordion, Tab). Saving a table that contains one of them is refused with a message such as Field "g": Group fields cannot be used in a data table.
A Password column stores a one-way hash. The password is never sent to the browser, never shown on your site and never included in an export.
What a table is used by
The Used by column of the list shows what depends on a table:
- a Programmatic SEO task that generates pages from it, shown as
Programmatic SEO task "Name"; - an entry form that adds rows to it, shown as
Form: Title; - a form connection, shown as
Form connection: Name.
A table that is in use cannot be deleted. The message says This data table is used by: ... Change or delete those first. Deleting a table you may delete asks for confirmation (Delete data table?: "«Name» and its N rows are deleted for good. Tables still used elsewhere cannot be deleted."), removes the database table with all rows, and also removes the feed that belonged to it.
Who can use data tables
You need an administrator account (the manage_options capability). All the REST routes behind the screen (/wp-json/wpmcf/v1/data-tables) check that capability and your plan on every call.
Plan | Data tables |
|---|---|
Free | No data tables screen. |
Pro | Yes: tables, rows, CSV import and export, Google Sheets and content feeds, Sync now, lists on your site. |
Business and Agency | Everything in Pro plus scheduled sync (a feed that refreshes by itself). |
Trial | The features of the trial plan, until the trial ends. |
After a license expires
Your tables and rows stay in the database. While the license is expired:
- The Data Tables screen and its REST routes answer
Your current plan does not include this feature.You cannot add, edit or import rows, and feeds do not sync (Syncing needs an active license.). - Lists already placed on your pages keep printing (shortcode and block), so no page changes when a license lapses. A site that never had data tables (the free plugin) prints nothing, and administrators see the hint
Data table lists need a plan that includes data tables. - Entry forms refuse submissions with
This form is not available right now. - Exporting still works. The expiry notice on every plugin screen lists a Download your data tables as CSV link per table. See Export to CSV.
If you buy again, everything comes back as it was. See Trials, renewals and expiry.
For developers
Every write to a table fires an action: wpmcf/data_tables/row_saved, wpmcf/data_tables/rows_deleted, wpmcf/data_tables/synced (after an import or feed sync) and wpmcf/data_tables/deleted. See the actions reference. Other code can report that it uses a table (so it cannot be deleted) with the wpmcf/data_tables/usage filter.
Still stuck? Contact support