Many different kinds of businesses have a need for tables. In fact, any company that needs to display a lot of data that can preferably be searched, filtered, and otherwise organized can make use of tables. That’s precisely the feature that wpDataTables offers. This premium plugin lets you build a table populated with data from any source then insert it using a shortcode in any post or page on your WordPress site.
While this seems like a fairly straightforward feature on the surface, it’s quite complex. And after I tinkered with the plugin for a bit, I quickly realized it’s well-worth its $25 price tag.
Note: a limited feature version is available for free for the month of August.
Features of the wpDataTables Plugin
After installing the wpDataTables plugin, you’ll notice it offers a wide variety of features right away. Here’s a quick rundown of what you can expect:
- Create tables within WordPress admin. Simple, straightforward table creation.
- Insert multiple tables on one page or post. Just input the shortcode and you’re good to go.
- Use any input source. I’m talking everything from MySQL queries, Excel files, CSV files, serialized PHP arrays, XML, and JSON.
- Server-side processing for your MySQL tables. This means your table could be humungous but it won’t slow down your site since only the data that’s currently being viewed will be loaded.
- Advanced filtering. Customize how your data is filtered in each column.
- Pagination and sorting options.
- Set up row grouping.
- Front-end editing for MySQL tables. Edit, insert or delete rows from the front-end. You can enable this feature in the dashboard.
- Create charts based on your collected data. This includes pie charts, bar charts, area charts, and line charts.
- Font and color options. Pick and choose from all the fonts and colors you’ll ever need within the plugin’s settings.
- Table Preview. This mode lets you view your table on the back-end before it’s posted to your site.
- Documentation. Extensive PDF documentation and a tutorials site with instructional videos.
- Sandbox front-end and back-end demos. These demo sites help you try out the plugin’s features without having to import your own data yet.
Now that you have a better sense of what this plugin includes, let’s take a look at how it works in greater detail.
Building a MySQL Query Input Source Table
One of the most popular table types uses MySQL as the input method. Within the wpDataTables menu in the WordPress Admin panel, you can click Add New. This will take you to a screen where you can create your table. Give it a name then use the dropdown to select MySQL query as the input source. In the text area beneath this, input the select query you want to use.
Go through the list and check the boxes for all the options you want enabled like filtering, sorting, and so forth. Click Save then view the column descriptions. If everything looks right, you can proceed to making any modifications you want like setting different column types or filter types, column names, etc. You can even reorder your columns using drag and drop.
Once you’re all done, just copy the shortcode for the table and use it wherever you want on your site. It should appear at the top of the edit page like this: To insert the table on your page use the shortcode: [wpdatatable id=2].
Building a PHP Array Table
According to the documentation included with this plugin, you can compile PHP data as a 2D array, then serialize it for use with wpDataTables. This is best used for those cases where you have data from several different queries and you manually restructure them using PHP. This makes it so your data is located in the table you create and not pulled from a database.
Build Tables from Excel Files
If your data is located in a simple Excel file, you can use that as the data source to populate your table, too. Just select Excel as the input source and you’ll be good to go. In this case, the data is always being pulled straight from the file, so you can update or replace that file at any time and see the changes reflected on your table, which is pretty convenient, if you ask me.
Building Tables from CSV Files
wpDataTables also lets you create tables based on CSV files. This is a common way to export data, so that’s an appreciated inclusion for this reviewer. As with the Excel files above, the data from the file isn’t stored in the table so you can always change the file and see it updated on your site in real-time.
Building Tables from XML Files
Another option is to build a table based on XML files. Once you select XML as your import source, the data from the file will be reformatted and put back together again in the plugin’s render engine. The end result is an interactive table that can be updated at any time thanks to the data always being stored in the file, not in the table.
Building Tables from JSON Files
Are you beginning to notice a trend here? This plugin handles a wide variety of file types and JSON is one of them. Just import your selected file and watch as your data is reformatted into something usable by the database. As with all the other file types, just a few clicks are all it takes to get your data from spreadsheet to live site.
Build Tables from WordPress Data
The last kind of table you can build with this plugin actually pulls data straight from the WordPress database. So, you can create a table that lists out all of your posts, pages, and menus if you want. A simple addition here, but you might find it handy, especially if you want to offer a complete listing somewhere on your site of all the content you offer.
You Can Add a Filter in Widget
Beyond the creation of tables on various input sources, you can also output the data in a variety of ways. For instance, if you opt to use the advanced filter, you can have it appear in a filtering widget that you can insert in any widgetized area of your site. Check “Filter in form” to add this widget to your available widgets. Then just drag it to the appropriate spot in your Widget admin screen. It should look something like this:
Add Filter Above the Form
If the widget option isn’t working for you, it’s also possible to insert the advanced filter feature above whatever table you’re building. Again, make sure to check “Filter in form” but don’t insert the filtering widget anywhere. It will automatically appear above the table like this:
Make Tables Responsive
One of the biggest benefits of using wpDataTables is the fact that it makes for an easy way to create responsive tables. As I’m sure you know, a site is responsive when it is can be viewed on any device and still look as you intended. The responsive tables this plugin creates automatically adjust so that some columns disappear when the screen shrinks down. The best part is you have control over which columns are viewable.
To do this, create a table as described previously then check the Responsive box. From there, you can go to the column properties section and decide which is hdden on mobile devices and tables. Then all you have to save the table and it’ll appear as responsive on your live site.
Enable Front-End Editing
The last feature I’m going to talk about today is front-end editing. You can actually allow users to edit existing data in tables published to your live site. They can add rows, delete data, and more. Once this option is enabled, new buttons will appear in the table header that open up a editor dialog box when pressed.
A few of the edit options include text input; multi-line edit, which lets you add several rows; a date input field; single and multi-value select boxes; URL links input field, email link input field; and a file uploader that will let users upload files straight from the front-end of your site. Nifty, eh?
Final Thoughts on the wpDataTables Plugin
All-in-all, I was impressed with the level of functionality included in this plugin. Yes, with premium plugins you do come to expect a certain level of features but this one doesn’t just meet those expectations—it exceeds them. In fact, if you have a regular need to create tables on your WordPress site, I’d recommend investing in this plugin. It’ll save you a ton of time writing up manual code and a ton of frustration using a subpar plugin that doesn’t offer as many features.
And who doesn’t want to save themselves some time and frustration, right?