There’s an easy way.
But it’s not the best way.
The new block editor in WordPress includes a table block, and it works perfectly fine for simple tables.
However, the odds are that you will need something a little more advanced.
There are two excellent plugins that can help.
The first plugin lets you create a table with a special editor. That means you won’t even need to look at any code. The second plugin is better for tables that need visual appeal and variety.
There is a third method that works dynamically and lists posts, documents, and other content on your site – we’ll explore that option at the end.
1. Create a table with TablePress
TablePress is the plugin for creating and displaying tables with WordPress.
As you can see, it’s a favorite among WordPress users.
Why use TablePress?
The main draw of TablePress is that it gives you a nice interface for creating and modifying tables without touching any code.
Also, it has more functionality than I can cover here. Check out the extensions page for all the cool features you can add to the base plugin.
One last benefit to using TablePress is that your tables aren’t tied down to a single post or page. Since you create tables independent of any post/page, you can reuse them anywhere on your site.
How to use TablePress
After activating TablePress, you’ll find a new top-level menu added to your admin dashboard.
Clicking the Add New button will take you to this page where you can setup your table’s name and size (don’t worry, you can always update rows/columns later).
Creating the table gives you access to the full table editor where you’ll enter your data.
You can rearrange rows and columns, add links, combine cells – there’s a ton of practical functionality built into the editor.
When you’re ready to display the table, copy the shortcode from the table page and paste it into the editor using the Shortcode block.
While you’ll see a shortcode in the editor, a full table is displayed when you view the post.
Here’s how the table looks displayed on the front-end.
Never used shortcodes? Get familiar with them in this tutorial.
There are a few common issues and questions with TablePress.
Will the shortcode affect my site’s SEO?
No. Using a shortcode won’t have any effect on Google’s ability to read the table on the page.
While you see a shortcode in the editor, regular crawlable HTML is output on the site. It’s no different than writing out the HTML yourself.
Is it responsive / mobile-friendly?
The tables that TablePress creates are not responsive by default. However, there is an extension that will make them more mobile friendly.
Will I lose my tables if I stop using this plugin?
Yes, and no.
The table data is stored in your database, so you won’t technically lose it by uninstalling the plugin. However, you won’t have access to that data in your admin dashboard anymore, so creating tables with it might be challenging.
Backup up your site!
Okay, this is not a question, but a reminder to backup up your site! Some WP users around the web have lamented spending hours on their tables just to end up losing them.
Always make sure to backup your site regularly, so you don’t lose your hard work. You can follow our tutorial on how to backup your site if you need help. There are lots of great free and premium backup plugins to choose from.
2. Create a table with WP Table Builder
If you want to create more visually beautiful tables, try out WP Table Builder.
While TablePress is great for structuring and presenting data, the tables aren’t all that attractive. WP Table Builder is excellent for creating product comparison tables, employee schedules, and even restaurant menus.
With a simple drag-and-drop interface, WP Table Builder is a joy to use.
How to use WP Table Builder
WP Table Builder can be installed like any other plugin. Once installed, you’ll find a new Table Builder menu added to your dashboard.
Clicking the “Add New” button reveals the drag-and-drop interface where you can construct your table.
There are currently five different content types that you can see available in the top-left of the above image.
After choosing how many columns and rows you want (can be edited later), you can simply drag-and-drop any of those elements into any cell in the table.
After less than a minute of fiddling around with this plugin, I was able to put together the beginnings of a product comparison table.
It’s easy to see how you could quickly create any kind of table using this plugin.
As for adding the table into your post, it’s easily done with a shortcode. Clicking the “Embed” button at the top of the interface reveals this popup with the table’s shortcode.
Then all you need to do is copy and paste it into a Shortcode block to include it in any post or page.
3. Use Posts Table Pro
The two plugins we’ve featured so far in this article are static table plugins. This means that the user has to add the data manually and change it whenever they want to update the table. A static table plugin is perfect for displaying structured data such as financial information.
Posts Table Pro is different because it is a dynamic WordPress table plugin. Instead of displaying static data, it automatically generates tables using information stored in the WordPress database. This can save you a lot of time compared to adding data manually.
You can use Posts Table Pro to create a searchable table of WordPress blog posts, pages, or any custom post type. The plugin’s most use cases are creating a document library, blog post index, resource directory, staff or member directory, and a video or audio library.
Why use Posts Table Pro?
Depending on what you want to display in the table, generating tables automatically can bring lots of benefits.
Instead of adding data directly to the table, you add a post (or custom post) in the WordPress admin. You can use all the standard fields that come with WordPress itself, and you can use plugins like Advanced Custom Fields or Pods to add custom fields and taxonomies. Once added, you use the Posts Table Pro shortcode to insert tables anywhere on your site.
After you have inserted the table, you never have to update it again. Any changes to the posts are automatically reflected in the table, so you don’t need to remember to update it manually.
Another benefit of displaying posts in a table is that your users can access a separate page for each item. They can click through to the single post (or custom post) page to view the full content. This is only possible with dynamic WordPress table plugins because, with static tables, there is no corresponding page for each item in the table.
How to use Posts Table Pro
If the information you want to display is already on your WordPress site (e.g., blog posts), you can set up Posts Table Pro straight away. Alternatively, you can install the free Pods plugin and create a custom post type along with all the fields you will display as columns in the table.
You can then install Posts Table Pro and use the settings page to configure it. There are dozens of options, and you can control details such as the table columns, filter dropdowns, and how many items to display per page.
Next, add the [posts_table] shortcode wherever you want to insert the table on your WordPress site. There are lots of shortcode options, for example, so that you can list different items in each table.
Overall, it’s an excellent option for listing content on your site and superior to static table alternatives.
4. Use JetEngine Tables Builder
Another dynamic WordPress table plugin is the JetEngine Tables Builder module. With this plugin, there’s no need to add data manually, as tables are automatically created from WordPress databases.
Tables Builder’s most common use cases are for WooCommerce product tables, statistics tables, and Rest API-powered tables (for instance, an IMDb table). With this table plugin, you can generate dynamic data tables showing: posts, terms, comments, reviews, products, or SQL data.
How to use JetEngine Tables Builder?
To create a dynamic table with the JetEngine plugin, follow these steps:
- Download and install JetEngine
- Enable Dynamic tables module
- Create a Query with JetEngine Query builder.
- Configurate general table settings (add title, choose Query to get data from, fetch the data to preview the table).
- Add the columns you need.
- Adjust the table styling.
- Add the table to the page (via Elementor page builder or Gutenberg).
With Tables Builder, you can easily add a dynamic table for your website with sortable and self-updating data. By the way, with the help of JetSmartFilters, you can add filters to your table.
To sum up, this is an excellent plugin for building dynamic tables.
Can you create a table without a plugin?
WordPress does have a Table block that lets you quickly create a table with a custom number of columns and rows, but your data then stays in one place, it’s not reusable, and it’s not going to be attractively styled.
TablePress is an excellent choice for anyone looking to make larger, reusable tables that they can import or export from their site. WP Table Builder is a great alternative for more visual content, and Posts Table Pro is perfect for listing dynamic content on the site.
If you’re looking for more selection between plugins, take a look at our list of the best table plugins for WordPress.
Is there anything else you need to add tables to your site? Is something missing in this tutorial? Leave a comment below.