Struggling with how to list category posts on your WordPress site?

Sometimes you need a list of posts in one specific category - you might want to:

  • Showcase a particular author's work
  • Display posts based on a key topic for your users
  • Ensure greater visibility for the full range of content on your site (as opposed to just recent posts), boosting your content's rankings and therefore your whole site's SEO.

You could always just link to a category’s archive page, but that’s often not a workable solution if:

  • You're looking to list category posts inside another piece of content (like a post or page)
  • Do you prefer a simple list or table view to the full category archive layout in your theme
  • You want pinpoint control over the exact information displays for each post in your list

Instead, you might be looking for something like this:

changing the sort order

Or perhaps a simple list of product names, like this:

WooCommerce Product List View Name Only

You can find some plugins that give you a shortcode to list category posts. However, these plugins can often fall short when it comes to filtering which posts to display, choosing what content to display in the list (beyond a post's title), and allowing your visitors to interact with your list of posts.

Posts Table Pro, on the other hand, lets you list WordPress posts from a specific category (or categories) and includes far more in-depth functionality:

  • Filter the list to only include or exclude specific posts from the category. You can even filter by custom fields or taxonomies for pinpoint control of what shows up.
  • Add additional columns to display extra information like a post's author, publish date, or even custom fields and taxonomies.
  • Optionally, give your visitors controls to filter, sort, or search your list of posts. AJAX search even allows visitors to view search results without a page reload.

Beyond that, Posts Table Pro can also help you list custom post types from a specific category or custom taxonomy.

In this article, you'll learn how to list category posts like the example above using Posts Table Pro.

For the tutorial, I'm going to create a list of posts that pulls from the Reviews category on my demo site and includes the review author, the publish date, and the post's featured image.

How to list category posts with the Posts Table Pro WordPress plugin

If you're looking for an easy way to display or list content from your WordPress website in a searchable and sortable table, Posts Table Pro is the perfect solution for you. Here's how you can install it:

  • Once you've purchased Posts Table Pro, you'll receive a confirmation email containing your license key and a download link to the plugin. If you don't receive this email, please submit a support request.
  • Download the plugin from the link provided in your order confirmation email. This will save a zip file to your computer.
  • In your WordPress admin panel, navigate to Plugins → Add New → Upload Plugin.
  • Select the posts-table-pro.zip file you just downloaded by clicking Choose File.
  • After the file uploads, click Activate.
  • Then, the Posts Table Pro setup wizard will automatically open and prompt you to enter your license key.

Tip: This help article has a full list of Posts Table Pro shortcode options.

Step 1: Creating Tables with Posts Table Pro

When you install the Posts Table Pro plugin, a setup wizard will automatically appear to help you create your first table. You can also create new tables anytime you want by going to Post Tables → Add New. Follow the next steps to learn how to create tables using Posts Table Pro.

After completing this section, the list looks like this:

basic shortcode of list category posts

Step 2: Name and post type

To create a table using Posts Table Pro, start by giving it an internal name that will appear in the WordPress admin list of tables. Next, select the post type that you want to display. If you do not have a content type, create one quickly using the free Easy Post Types and Fields plugin. Just click on the "Create a new post type" link to get started.

Step 3: Select the type of content to show on your table

When adding posts or pages to your table, you can choose from posts, pages, and custom post types on the page. The options available will depend on the post type you selected in the previous step. If your post type has custom taxonomies, they will also be displayed for you to choose from.

Step 4: Customize columns

To modify the columns in your table, you can choose which columns to exhibit and arrange them in any order you prefer.

Posts Table Pro lets you display columns for:

  • Post ID
  • Title
  • Content
  • Excerpt
  • Thumbnail Image
  • Date
  • Author
  • Categories
  • Tags
  • Any custom field
  • Any custom taxonomy

You can customize a column by selecting the column type from the dropdown menu and tapping 'Add'. The appended columns will emerge in the list of columns above, and you can rearrange them by dragging and dropping the sorting icon on the left or the column title. Furthermore, you can click the pencil icon to alter the column name or use the toggle to conceal the column name entirely. If you intend to delete a column, simply click the X icon adjacent to it.

Here's what it's going to look like when view on the front end:

changing the columns

Step 5: Filter options

You can enhance the user experience of your table by including filters that allow them to refine their choices. Consider what your target audience would consider the most beneficial. For instance, on a book review website, visitors would presumably like to filter by author and genre.

Filters will appear as dropdown menus above the table, and you can add as many as you need. The available filter alternatives will differ based on the post type chosen on the first page. For example, typical blog posts may have filters for categories and tags, as well as any added custom taxonomies.

However, other post types may not have built-in categories and tags, and consequently, they will only present the custom taxonomies included in them, which can be accomplished using the Easy Post Types plugin.

Step 6: Choose how to sort the table

You can customize the sorting options for your table by choosing the default sorting option and the sort direction. This allows you to control the order in which the table is displayed to your users.

You can sort by:

  • Post ID
  • Title
  • Menu order
  • Publish date
  • Slug
  • Last modified date
  • Author
  • Comment count
  • Post type
  • Random

Here's what it's going to look like (notice that the order has changed since the last example):

changing the sort order

Step 7: (Optional) Configure which filters to give users access to

Posts Table Pro gives you the option to:

  • Add a drop-down filter for specific data. For example, if you display tags you could let visitors choose specific tags from a drop-down to further refine your list of category posts. To control this, you use the filters parameter.
  • Hide the search box. By default, Posts Table Pro displays a search box. To move or disable the search box, you use the search_box parameter.
  • Hide the pagination options. By default, Posts Table Pro displays a drop-down that lets visitors choose how many posts to list. To move or disable the drop-down, you use the page_length parameter.

Step 8: (Optional) Exclude individual posts from your list

If you want to exclude specific posts in the selected category from the list, the exclude parameter lets you remove individual posts by their post ID.

To find a post's ID, look at the URL when you're editing a post:

how to find post id

Step 9: (Optional) Choose the number of posts to display

You can choose how many items are listed on each page of the table, as well as the total number of posts in the table. The rows_per_page option controls how many rows display on each page of results in the table, and the post_limit option controls the maximum number of posts displayed in your table.

Final Step: Insert your shortcode where you want your list to display

After finishing creating your table using the Post Table Pro plugin, the setup wizard will tell you that you're done and show you how to add the table to your WordPress website.

  • You can use the "Post Table" block in the Gutenberg editor or
  • Copy the shortcode from the table builder and paste it on any page on your website, allowing you to put the table anywhere you like, regardless of the page's content.

Taking your list of posts even further

Depending on your needs, you can get more creative with the list category posts WordPress plugin. Some helpful advanced tips you can implement are:

  • Use custom fields to display a Buy Now button in your list (helpful for listing review posts or particular categories of products).
  • Display custom post types to create a category list of events, audio files, podcast episodes, documents, staff members, and more.
  • Upgrade the default WordPress Posts Archive sidebar widget to show posts in the tabular archive layout by adding the Posts Table Pro shortcode directly to a custom 'archive.php' template.
  • Add lazy loading for long lists.
  • Add a fallback message for when there aren't any posts to display for a given category name.

And that’s all you need to get started with the best list category posts plugin for WordPress. Any other questions? Leave a comment and we’ll try to help out! We're always happy to get Posts Table Pro running on your site.

WordPress video gallery plugin

It's so easy to embed video in WordPress these days, but it's not so easy to create a video gallery listing all your videos in a grid – unless you use the right plugin. This article will teach you how to create a responsive WordPress video gallery - the easy way.

WordPress Video Gallery FeaturedKeep reading to learn how to use the Document Library Pro plugin to create a searchable WordPress video gallery. While it isn't just for videos, it is one of the best WordPress video gallery plugins around. It makes it easy to add a video grid or video portfolio to your website.

You'll learn how to add videos to your gallery using 3 different methods:

  • Embedding a video that is hosted elsewhere into WordPress, for example, YouTube videos or Vimeo videos.
  • Directly uploading video to your WordPress website.
  • Creating a video playlist.

We'll also look at the many different options and functionality for setting up your WordPress video gallery. You can choose what information to display about your videos, how to size them, how many WordPress tutorial videos to display on each page of the gallery, and more.

Your WordPress video gallery will be fully responsive and will resize to fit different screen sizes and mobile devices.

At the end of this step-by-step tutorial, you'll know how to create a professional-looking video gallery for your WordPress site. Your visitors will be able to watch videos directly within the WordPress video gallery, as well as search and filter to easily find their ideal videos.

WordPress video library tile layout

Document Library Pro creates a WordPress video gallery in a choice of gallery layouts. The table layout lists each video on its own row of a searchable, filterable table. The grid layout displays each video within a tile, similar to Netflix.

You can use this WordPress video gallery plugin to embed any type of video into your WordPress site. This includes:

  • Any video hosting service YouTube, Vimeo, Dailymotion, Animoto, Blip, Cloudup, CollectHumor, Facebook videos, Flickr videos, TED talks, VideoPress, etc.
  • Types of video Long videos, short video snippets, promotional video, product demonstrations/reviews/unboxings, stock footage, educational videos, event coverage, how-to video tutorials, interviews, presentations, video commentary, vlogs, webinars.
  • All video genres Animations, behind-the-scenes footage, drone footage, movies, and films, non-fiction videos.

The videos in the gallery will autoplay in an online video player, directly on the video gallery page. You can also display videos on a separate WordPress page for each video, or allow users to click through to watch on video platforms like YouTube or Vimeo.

This WordPress video gallery plugin also lets users search, sort, and filter the gallery from the front end. As a result, visitors can quickly find the video(s) they’re looking for.

You can list all your videos in a single gallery, or you can list different videos on different pages on your WordPress site. It's super flexible and with over 50 options, it's the perfect WordPress video gallery plugin. The all-in-one plugin also provides a user-friendly player interface that lets you add SEO-optimized video galleries quickly.

1. Install the video gallery plugin

The first step to creating your WordPress video gallery is to install the Document Library Pro plugin. You need this in order to add WordPress tutorial videos and display them in a video gallery online. It will work on any WordPress website and any theme.

After installing the plugin, go to the settings page and enter the license key from your 'Getting Started' email. Next, go to the 'Document Libraries' tab and choose how you want your video galleries to look. Pay particular attention to these options:

  • Columns - There are lots of available columns. As a minimum, I recommend these for a WordPress video gallery: title, content:Watch Online. The title column will display the video name, and the content column will show the embedded video player. You can see that I added :Watch Online after the name of the content column. This will appear as the column header, so change this to anything you like. If you want people to be able to download videos - or click through to watch them like a YouTube video gallery - then add a link column too.
  • Clickable columns - If you want people to be able to click on the name of a video to watch it on a separate page, then leave this as it is. Add none to disable these links and keep people on the main WordPress video gallery page.
  • Shortcodes - Enable this option. This is essential in order for the main WordPress video gallery page to display embedded video players.
  • Filters - Choose 'Custom' and add doc_categories and/or doc_tags, depending on how you're planning to structure the video gallery. This will add a categories filter dropdown and/or a tags filter dropdown above the video gallery. It's a quick way for people to find specific types of video, for example by genre or year.
  • Lazy load - Enable this if you're listing lots of videos in the gallery. It loads each page of videos one at a time, which improves page load times.

2. Add videos to the gallery

Now the overall structure of your WordPress video gallery is in place, it's time to start adding videos and/or video playlists.

If you want individual videos to appear in their own row of your WordPress gallery as below, then you'll need to add each one as a separate 'Document' post. You can do this in the 'Documents' section of the WordPress admin.

WordPress video gallery individual video.
A WordPress video gallery with 1 video per row

If, however, you're planning to create video playlists then you'll need a separate Document post for each playlist, but not each video:

WordPress video gallery playlist
A video playlist in a WordPress video gallery

Note that you'll be able to include a combination of individual videos and playlists in your WordPress video gallery. For each 'Document', add either one or more videos. I'll tell you how to do this next.

Use these steps to add each video or playlist to the gallery:

  1. Go to Documents → Add New in the WordPress admin.
  2. Add a title for the video, plus any other information such as categories, tags, or an excerpt (which is useful for adding a short video description or summary).
  3. Next, embed your video in the main content area using one of the following 3 methods:
Method 1 - Embed a video from YouTube or Vimeo

The most reliable way to add a video to your WordPress video gallery is to first host it on a third-party video platform. YouTube and Vimeo are the most popular, but you can embed from any of the video services in this list. (It's fine to use other video platforms too or use self-hosted videos, but instead of just pasting the URL, you need to get the embed code and paste it into the 'Text' view on the Add/Edit Document screen.)

Using a specialist video host is a great choice because:

  • It will save space on your web hosting account.
  • Dedicated video hosts automatically create multiple versions of your videos behind the scenes. This means that your videos will play for more people, whatever technology or device they're using to access your website. You don't have to worry about writing any fancy code to check the user's device or serve alternate versions of your videos - it all happens automatically.
  • You get lots of extra features from specialist video hosts such as view counters, social sharing, annotations, mobile-friendly cards, monetization through advertising, etc.
  • If you use a public video website such as YouTube then people can also find your videos directly via the host. This will help to increase your traffic. If you'd rather your WordPress video gallery not be publicly available on the hosting site, then I'd recommend Vimeo. Vimeo has more privacy settings and you can protect Vimeo videos so they can only be viewed on your domain.

If you're embedding WordPress tutorial videos from one of the files in this list, you just need to embed the URL of your video directly into the post. To do this, view your video on YouTube, Vimeo, social media platform, or whichever site you're using, and copy the URL from the address bar at the top of your browser. To help you find the video URL, I've circled it in the screenshot below:

Where to find YouTube URL for WordPress video gallery

Then, simply paste the URL into the content area of your WordPress post. WordPress will instantly convert it into an embedded video player.

Method 2 - Upload the video directly to the media library

If you prefer, you can host videos directly on your WordPress website and embed the media files:

  1. Click the Add Media button above the WordPress toolbar and upload your video file (e.g. MP4 or MOV).
  2. Select the video in the WordPress media library.
  3. Make sure the Attachment Display Settings section is set to Embedded Media Player and click Insert into post.

Again, WordPress will automatically embed a watchable video into your post.

Method 3 - Create a video playlist

Finally, you can add entire video playlists to your WordPress gallery. These have to be hosted in the WordPress media library.

  1. Click Add Media above the WordPress toolbar.
  2. Click the Create Video Playlist option on the left. Note, this option will only appear if you already have video files in your media library. Upload some videos to WordPress if not.
  3. Tick all the videos you want to include in the WordPress video gallery playlist.
  4. Click the Create a new video playlist on the right.
  5. On the next screen, add the caption that should appear for each video. Tick the boxes to indicate whether to show the video list and images in the playlist. Then click Insert video playlist.

WordPress will embed the playlist directly into your page or post.

WordPress video playlist
Where will the video players appear on my website?

Whichever method you use to add your videos and playlists, they will appear in 2 locations in your WordPress video gallery:

  1. On the main video gallery page, within the 'content' section. (As we saw above, you can rename this column to anything you like.)
  2. If you haven't disabled the clickable columns, then people can also click the video name to access a separate page for each video or playlist. The embedded video player will appear on this page. https://barn2.com/kb/dlp-column-widths/

Now all your videos are ready to go, you're ready to display your WordPress video gallery! The good news is that most of this has already been done for you. All you need to do is check it, make any tweaks, and add a link to your website menu so that people can find the video gallery page.

You can also create additional video galleries if you need more than one.

Viewing the video gallery page

WordPress video grid

Click on the 'Pages' link on the left of the WordPress admin, and you'll see all your pages listed. One of these is called 'Document Library' and contains your WordPress video gallery. Rename this to something specific to videos, such as 'Video Library'.

Now view the page. You will see all your videos listed in a searchable table or grid with whichever settings you chose in Step 1.

Go back to the settings page and make any changes to tailor the video gallery to your requirements. You may also want to edit the WordPress video gallery page directly and add some options to the shortcode which has been added to the page. For example, there's a shortcode option that lets you change the column widths. I'll provide more information on customization options for the video sizes next.

Changing the size of each video

If you are using the table view then the best way to customize the size of your embedded video players is to adjust the column widths. The videos will automatically adjust to fit the available space.

By default, the Document Library Pro WordPress video gallery plugin sets the column widths automatically based on the content of each column. But for a WordPress video gallery, you might want to make the video player column wider so that people can see your videos more easily.

To customize the column widths in the video grid, you need to add width="" to the shortcode. Between the quotation marks, you can add a number for each column to represent the percentage of the table each column will occupy. Note the numbers must add up to 100% and be separated by commas. In the example below, the 4 columns will take up 40%, 15%, 30%, and 15% of the table, respectively:

[doc_library columns="content:Watch Now,title,excerpt:Description,category" widths="40,15,30,15"]

(Note: In this shortcode, I have set the columns option to show you that the number of columns matches the number of widths. However, it's easier to set the columns on the WordPress gallery plugin settings page.)

The first column (content) gets 40% of the table width – the biggest width to give more space for the embedded video player. The second column (title) gets 15% as the video titles don't need much space. The third column (excerpt) is slightly wider to allow for more text. The final column (category) is also quite narrow.

WordPress video library

Play around with the widths in your own video gallery to get the column sizes working as you want them.

Creating multiple video galleries

By default, all your videos are listed in one new gallery. If you prefer, then you can list different videos like WordPress training videos on different parts of your site.

You can add a video gallery to any post or page on your WordPress website, or even within a text widget.

Go to the page/post/widget where you want to add the gallery. In the main content area, add the following shortcode:

[doc_library doc_category="music"]

This will list all videos from the 'music' category. Edit the shortcode to include whichever category of videos you want to list in the gallery like WordPress training videos. You can then add as many shortcodes as you want, wherever you want.

The great thing about using Document Library Pro as your WordPress video gallery plugin is that it's not just for videos. You can get even better value for money by using it for other purposes elsewhere on your site. For example:

To use it for multiple purposes, go to Documents → Categories and create categories for each use case. For example, you might have a 'Video' category with various sub-categories for your video genres, and a 'Documents' category with sub-categories for your document types. You can then use the [doc_library category="videos"] shortcode lists different types of resources in different places on your site.

Once you've installed this WordPress video gallery plugin, you can use it as many times as you like. Be creative and get more for your money by using Document Library Pro in different ways!

woocommerce video gallery plugin example
A WooCommerce video store powered by the WooCommerce Product Table plugin

It is also possible to create a WooCommerce video gallery for an eCommerce site. Each video would be a 'product' and would be listed in a table with a preview of the video. People can watch the preview and then click a 'Buy' button to purchase the video - either as a digital download or a physical DVD.

To do this, you need to use our other plugin - WooCommerce Product Table. It has similar features to Document Library Pro but works with the free WooCommerce plugin so that you can actually sell your WordPress training videos online.

Now that you know how to create a fully featured, fully responsive WordPress video gallery, it's time to get creative. To get started, download the Document Library Pro plugin.

  • 100% flexible.
  • List any type of video.
  • Quick 10-minute setup.
  • Expert support and documentation.
  • Free 14-day trial - love it or you pay nothing!

Follow the steps in this tutorial to set up your WordPress video gallery in no time at all. Don't forget it's simple to make the exact video gallery you want, so have a play around and check out the knowledge base for even more ideas.

Let me guess: You've been searching for a WordPress A-Z plugin but none of them do exactly what you want them to do. Now, you need to create an alphabetical listing of your WordPress content but maybe you're not sure how to get started.

Don't worry - we've got you covered.

In this post, I'll show you how to use the Posts Table Pro plugin to create a WordPress alphabetical index from any type of content on your site - posts, pages, custom post types... you name it! You can use this to create A-Z listings, with posts listed by letter. Or maybe a WordPress glossary, where people can click on the A-Z letters or numbers to view the listings under each one.

Example of WordPress A-Z listing for movies

Let's get started so you can have a working solution to your problem as soon as possible!

How to create a WordPress alphabetical index or list

To demonstrate how to create a WordPress alphabetical index, I’m going to use a real-life example of creating an A-Z movie index where visitors can click on any letter to jump straight to movies with names that start with that letter.

You can see an example of the end result below:

final wordpress a-z listing of movies

The process that I show you can work for anything, though. This means you'll be able to adapt this same basic approach to anything from regular WordPress posts to custom post types to numerical indexes and even WooCommerce products.

Posts Table Pro - the perfect WordPress A-Z plugin

While there are some simple WordPress A-Z plugins, most of them force you into using a single preset layout and only apply to regular WordPress posts.

On the other hand, by using Posts Table Pro, you’ll be able to:

  • Create an A-Z index for regular posts, pages, or custom post types
  • Manipulate your WordPress alphabetical index to show only the exact information that you want
  • Include data from custom fields in your index

You can see a live example of the types of indexes that Posts Table Pro can help you create on this demo page.

Here’s everything you need to create your WordPress alphabetical index

And if your theme doesn't already have functionality for tabs or toggles, you'll also need:

  • Shortcodes Ultimate plugin (free), optional, but makes it easy to create clickable tabs to divide your index by the letters in the alphabet.

The entire process in a nutshell

I’m going to break down every single step in more detail. But before I do that, I want to give you a high-level look at the process so that you have an idea of where this article is going.

To create a WordPress alphabetical list you’ll:

  1. Decide between listing regular posts, and pages, or using a custom post type
  2. Create a custom taxonomy that you’ll automatically add the first letter of the post using a code snippet (for easy alphabetization) - or you can set the letters manually if you don't want to edit any code
  3. Create a list of content for each letter using the Posts Table Pro shortcode
  4. Display those lists in a tabbed interface using Shortcodes Ultimate (or something similar)

Let’s get started!

Step 1: Decide what content you want to index

Posts Table Pro lets you index and alphabetize content from:

  • Posts
  • Pages
  • Custom post types

So if you haven’t already, it helps to think of the best way to store the content that you want to index.

  • Posts - typically, people use the default posts to store blog posts. So if you want to create an alphabetical index to list WordPress blog posts, this is what you want.
  • Pages - pages are generally more for static content. You can create an index of your pages, but for more specialized content, you'll probably want a custom post type instead.
  • Custom Post Type - custom post types are flexible and good for storing non-standard content, like a movie entry, staff member, and more.

For this demo, I’m going to use a custom post type to store the movie entries. But if you want to use regular posts, instead, it’s as simple as removing one tiny little phrase later on in the article (I’ll explain this when we get there!).

Step 2: Create a custom post type using Easy Post Types and Fields

If you’re going to use regular WordPress posts instead of a custom post type, you can click here to skip straight to the next step.

To create your custom post type, install and activate the free Easy Post Types and Fields plugin. Then:

Go to  Post Type → Manage in your WordPress dashboard. Click Add New to launch the wizard.

First, enter the Singular and plural names for your post type. For this example, “Movie Review” and “Movie Reviews”. But again, you can adapt this to anything - “Staff Member”, “Artist”, or “Document”.

custom post type wizard

Select the type of information you wish to display and click Create.

custom post type wizard step 2

And you are done! You should see your new custom post type show up in the WordPress sidebar.

I’ll cover some neat enhancements - like adding custom fields - later on. But for now, you’re ready to move on to the next step.

Further reading: How to create custom post types in WordPress (step-by-step)

Step 3: Create a custom taxonomy

In order to index content alphabetically, you need to create a taxonomy for Posts Table Pro to filter content based on.

Essentially, you create the Alphabetical Letter taxonomy and assign each post a taxonomy for the first letter in the post's title (don’t worry - I’ll show you a way to do this programmatically so that you don’t need to manually set the taxonomy for every content item).

For my movie example:

  • “Eat Pray Love” would get “E”
  • “Conspiracy Theory” would get “C”
  • And so on...

Here’s how to create the necessary taxonomy:

If you skipped here from Step 1, you’ll need to install and activate Easy Post Types and Fields plugin before you continue.

  1. Go to Post Type → Manage.
  2. Click on the taxonomies button for the post type you wish to customize (in our example, it would be Movie Reviews).
  3. On the Manage Taxonomies page, click on the Add New button.
  4. Enter the singular and plural names for your new taxonomy. For our purpose, it would be Alphabetical Letters. The actual name can be anything but make sure the slug is easy to remember.
  5. Make sure the Hierarchical checkbox is unchecked as there will only be 26 letters of the alphabet and no need to create sub-taxonomies.
alphabetical letters taxonomy

After making those changes, make sure to click Add taxonomy button.

Step 4: Add content using the custom taxonomy

Now, if you go to add new content using regular posts or your chosen custom post type, you should see the new Alphabetical Letters taxonomy.

Add your content, making sure to add the appropriate letter to the Alphabetical Letters taxonomy for each piece of content.

add custom taxonomy to create a wordpress alphabetical index

How to add the taxonomy programmatically

For small amounts of content, it’s fine to add the taxonomy manually. But if you’re dealing with large amounts of content, you might prefer a method that doesn’t require you to manually input the taxonomy every single time.

Thankfully, you can do that using some basic code. Essentially, this code snippet will automatically chop off the first letter of any piece of content and add it as a taxonomy - no manual input required!

While you’ll need a tiny bit of PHP knowledge to get this done, it’s nothing too complex. Here’s the code I used for my example (credit to Kathy Is Awesome for this snippet):

Note - assisting with code snippets is outside of our plugin support. If you're not comfortable editing code yourself, we recommend using Codeable to find a developer who can do this for you.

/* When the post is saved, saves our custom data */
function kia_save_first_letter( $post_id ) {
 // verify if this is an auto save routine.
 // If it is our form has not been submitted, so we don't want to do anything
 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
 return $post_id;

//check location (only run for posts)
 $limitPostTypes = array('post');
 if (!in_array($_POST['post_type'], $limitPostTypes)) 
 return $post_id;

// Check permissions
 if ( !current_user_can( 'edit_post', $post_id ) )
 return $post_id;

// OK, we're authenticated: we need to find and save the data
 $taxonomy = 'glossary';

//set term as first letter of post title, lower case
 wp_set_post_terms( $post_id, strtolower(substr($_POST['post_title'], 0, 1)), $taxonomy );

//delete the transient that is storing the alphabet letters
 delete_transient( 'kia_archive_alphabet');
}
add_action( 'save_post', 'kia_save_first_letter' );

To make this code your own, you need to:

  • Replace post in array('post'); with the name of your custom post type (only if you’re using a custom post type).
  • Replace glossary in  $taxonomy = 'glossary'; with the name of your actual taxonomy

To find the name of your custom post type, click on Post Types → Manage and check the Name/Slug column. To check the name of Taxonomies, click on Taxonomies button and check the Name/Slug column:

custom post type slug

You can then add this code to your site using a plugin like Code Snippets (I marked the two areas that you need to modify with arrows to make things clear):

where to replace code snippets

Once you add the code, you’ll no longer need to manually edit the taxonomy for each piece of content. Instead, WordPress will automatically take the first letter of the post and add it to the taxonomy whenever you publish or update the piece of content.

You can see this in action below:

Step 5: Add content to the alphabetical list

Now, you’re ready to create the various alphabetical lists of your content.

After buying Posts Table Pro, you will get a confirmation email that includes a download link and a license key. Once you get the email, download the plugin from the link provided and save the zip file to your computer.

Next, upload the plugin to your WordPress admin by going to Plugins → Add New → Upload Plugin, selecting the zip file, and then activating it. Once activated, the setup wizard will take you through a step-by-step process to create your first table. The wizard will guide you through the process of selecting columns, adding filters, and customizing the display of your table. With these easy-to-follow steps, you can quickly set up your Posts Table Pro plugin and start creating tables to display your content in an organized and efficient manner.

Here are some tips on which specific settings to choose in the table creator:

Choose which type of content to display

To create a table listing the pages or posts for a specific letter of the alphabet, the first step is to provide a name for your table and select the post type you want to display.

After giving your table a name and selecting the post type, the next step is to choose which posts or pages to include in your table. The available options will differ based on the post type you selected in the previous step. For example, if you chose a post with custom taxonomy, you will be presented with the relevant taxonomies to select from.

For example, to display content from the Movies post type, just choose 'Movies' from the dropdown menu in the 'Create' tab.

Choose which columns to display in your table

Customize columns in WordPress table plugin

Now that you’ve selected what type of content to display, you need to choose the specific information that you want to display as columns in your table. For example, depending on what you’re displaying, you might want to show:

  • Post title
  • Custom fields
  • A link or buy button
  • Etc.

To do that, choose the column type from the dropdown menu and click "Add". You can also reorder columns by dragging and dropping the sort icon or column heading.

Filter posts to display them alphabetically and set the sort order

Add filters to your table that enable users to refine their selections. Filters appear as dropdowns above the table, allowing users to quickly sort and find the information they need. You can add as many filters as you like, depending on the content of your table and what your target audience would find most helpful. For example, you can add a filter for titles or categories.

In addition to filters, you can also choose how to sort the table. You can set the default sorting option and the sort direction. Sorting allows you to arrange your table's contents in ascending or descending order based on a particular column, making it easier for users to find what they are looking for. For example, if you have a table of books, you could sort them by name, allowing users to quickly find their books in alphabetical order.

Display your table

Once you have completed creating your table using the Post Table Pro plugin, there are two ways to add it to your website:

  1. Using the Gutenberg editor: In the Gutenberg editor, you can insert a 'Post Table' block by clicking on the plus (+) sign and searching for 'Post Table'. Once you select the 'Post Table' block, it will be added to your page. You can then customize it further by choosing which table to display and other settings.
  2. Using shortcode: If you're not using the block editor or prefer to use shortcode, you can copy the shortcode from the final page of the WordPress table builder. You can then paste the shortcode anywhere on your site, such as a page, post, or widget. The shortcode for each table also appears on the main list of tables in Post Tables → Tables, so you can easily access it at any time and add it to your site. By using shortcodes, you have the flexibility to place the table on any page, regardless of its content.

Step 6: Create tabs using Shortcodes Ultimate plugin and insert shortcode

example of wordpress a-z listing tabs

If you want to create a set of clickable tabs like the example above, Shortcodes Ultimate provides an easy, theme-agnostic solution. With that being said, if your theme does include already functionality for tabs/toggles, we recommend using that first. If not, go for Shortcodes Ultimate!

To get started:

  • Install and activate the free Shortcodes Ultimate plugin
  • Go to the WordPress editor for the page you want to add your WordPress alphabetical index to
  • Click on the new Insert shortcode button above the editor toolbar (or use a block if you're using the Gutenberg editor)
  • Select the Tab option
how to use shortcodes ultimate
  • Enter “A” in the Title and Anchor
enter letter
  • Enter the Posts Table Pro shortcode in the Content box
  • Click Insert Shortcode
  • Repeat the process for each letter in the alphabet, making sure to change the letter in the Posts Table Pro shortcode each time to display the correct taxonomy term

Once you’ve added 26 shortcodes for all the letters in the alphabet (27 if you want to collectively include numbers 0-9 as a separate option), wrap the entire set of shortcodes in the [su_tabs] shortcode. You should have a separate [su_tab] shortcode for each letter of the alphabet, each containing a Posts Table Pro table.

If you get stuck, skip ahead. I've provided some sample shortcodes that you can copy and paste straight into your page.

Sample A-Z shortcode for you to copy

If the above seems a bit tricky, don't worry. Here's a set of sample shortcodes that you can use to get started. Just paste the entire group into your page, then replace 'alphabetical_letter' with the actual name of the taxonomy you're using to tag your posts with the correct letter":

[su_tabs]
[su_tab title="A"] [posts_table term="alphabetical_letter:a"] [/su_tab] 
[su_tab title="B"] [posts_table term="alphabetical_letter:b"] [/su_tab] 
[su_tab title="C"] [posts_table term="alphabetical_letter:c"] [/su_tab] 
[su_tab title="D"] [posts_table term="alphabetical_letter:d"] [/su_tab] 
[su_tab title="E"] [posts_table term="alphabetical_letter:e"] [/su_tab] 
[su_tab title="F"] [posts_table term="alphabetical_letter:f"] [/su_tab] 
[su_tab title="G"] [posts_table term="alphabetical_letter:g"] [/su_tab] 
[su_tab title="H"] [posts_table term="alphabetical_letter:h"] [/su_tab] 
[su_tab title="I"] [posts_table term="alphabetical_letter:i"] [/su_tab] 
[su_tab title="J"] [posts_table term="alphabetical_letter:j"] [/su_tab] 
[su_tab title="K"] [posts_table term="alphabetical_letter:k"] [/su_tab] 
[su_tab title="L"] [posts_table term="alphabetical_letter:l"] [/su_tab] 
[su_tab title="M"] [posts_table term="alphabetical_letter:m"] [/su_tab] 
[su_tab title="N"] [posts_table term="alphabetical_letter:n"] [/su_tab] 
[su_tab title="O"] [posts_table term="alphabetical_letter:o"] [/su_tab] 
[su_tab title="P"] [posts_table term="alphabetical_letter:p"] [/su_tab] 
[su_tab title="Q"] [posts_table term="alphabetical_letter:q"] [/su_tab] 
[su_tab title="R"] [posts_table term="alphabetical_letter:r"] [/su_tab] 
[su_tab title="S"] [posts_table term="alphabetical_letter:s"] [/su_tab] 
[su_tab title="T"] [posts_table term="alphabetical_letter:t"] [/su_tab] 
[su_tab title="U"] [posts_table term="alphabetical_letter:u"] [/su_tab] 
[su_tab title="V"] [posts_table term="alphabetical_letter:v"] [/su_tab] 
[su_tab title="W"] [posts_table term="alphabetical_letter:w"] [/su_tab] 
[su_tab title="X"] [posts_table term="alphabetical_letter:x"] [/su_tab] 
[su_tab title="Y"] [posts_table term="alphabetical_letter:y"] [/su_tab] 
[su_tab title="Z"] [posts_table term="alphabetical_letter:z"] [/su_tab]
[/su_tabs]

Enjoy your new WordPress alphabetical index

Now, if you Publish your page, you should be able to see your WordPress alphabetical index.

Here’s what my example looks like after adding a few more movies. I’ll use a GIF so that you can see how the alphabetization works:

example of wordpress alphabetical index

If you want to remove the search, filter, and/or pagination options, you can add additional shortcode parameters to further customize how things look and function.

And if you want to enhance your index with more information, here’s a neat way to display extra information using custom fields...

Enhancing your WordPress alphabetical index with custom fields

Because Posts Table Pro can display custom fields, you can use custom fields to display additional information as a separate column in your index.

For example, in my alphabetical movie list, it might be helpful to include extra information for things like:

  • Release Date
  • Director
  • Etc.

Here’s how to do it:

Step 1: Add custom fields using Easy Post Types and Fields plugin

To add custom fields to a custom post type, just edit that custom post type from the Post Types → Manage interface.

On the other hand, if you want to add custom fields to your regular WordPress posts, you’ll need to:

  1. Go to the Post Types page and click on the Custom Fields button for the respective ost type.
  2. Click on the Add New button on the Manage Custom Fields page.
  3. Give your custom field a name, slug, and type. The type can be a simple text or a visual editor.
  4. Click on the Add custom field button.
Add new custom field

For example, here’s what it looks like after I’ve added a few custom fields:

all custom fields

Once you save your changes, you’ll be able to add information directly to those fields if you go to the relevant post type:

adding custom fields

Step 2: Include custom fields as columns in Posts Table Pro

Now that you have your custom fields, all that’s left to do is include them as columns in your table. To do that, add a comma between each column you want to display.

You need to know the custom field name for this. You can find the field name in the Post Types → Manage interface:

manage post types

So to add columns for Director and Release Date to my example from before, I would go to Post Types → Tables and click to edit my table. On the columns page, I would click to add a custom field column and add the custom field name.

Put it all together, and my example alphabetical movie index looks like this:

final wordpress a-z listing of movies

You may also like: How to use a WordPress index plugin to list pages, posts or any custom post type.

Create a WordPress numerical index with tabs for numbers 0-9

So far, you've learned how to create an A-Z alphabetical index in WordPress. If you'd like to create a numerical index - for example with tabs for numbers 0-9 - then the instructions will work for that too.

Creating An Alphabetical Index Of WooCommerce Products

All the steps that I’ve shown you in this article can be easily adapted to create a WordPress alphabetical index of WooCommerce products using our WooCommerce Product Table plugin.

Essentially, you’ll perform identical steps to everything I’ve discussed above but focus on the product post type that WooCommerce creates.

Here’s a quick summary of the steps that you’ll want to take:

  • Use Easy Post Types and Fields to create a new Alphabetical Letter custom taxonomy that is associated with the Products post type
  • Take the same code snippet from Step 4 and apply it to the product post type to programmatically add the product’s first letter to the Alphabetical Letter taxonomy that you created
  • Use the WooCommerce Product Table shortcode to filter products by taxonomy and control what information is displayed
  • Add the WooCommerce Product Table shortcode to tabs that you create with Shortcodes Ultimate

The advantage of using WooCommerce Product Table is that you'll be able to easily include product images, Buy buttons, and other eCommerce-focused information in your alphabetical product table.

Posts Table Pro is your flexible WordPress A-Z plugin

If you want to create a flexible WordPress alphabetical index, Posts Table Pro gives you all the functionality that you need.

You'll be able to organize any type of content, including custom post types. And you'll also be able to manipulate your content's front-end display by choosing exactly what shows up in the index, including custom fields.

Remember - to create the alphabetical list like the example above, all you need is:

  • Posts Table Pro (or WooCommerce Product Table if you want to create an alphabetical list of WooCommerce products)
  • Easy Post Types and Fields to create the custom taxonomy and/or custom post type
  • Shortcodes Ultimate to display everything in a tabbed A-Z list (or your theme's built-in options)

Have any further questions about how to create a WordPress alphabetical index? Leave us a comment and we'll try to help out!

Discover the best methods to add tables in WordPress

WordPress table plugins offer a convenient method for adding tables to WordPress sites without using HTML tables. Whether this is in a post, a page, or even more complex implementations such as a WooCommerce store, they let people quickly navigate large amounts of information and find what they’re looking for.

If you're wondering how to create a table in WordPress, then you've come to the right place. In this article, we'll cover everything you need to know about adding tables to your WordPress site, like:

  • How to add a simple static table to a post. 
  • Dynamically creating tables that list information from the WordPress database, such as your latest blog posts, documents, audio files, or WooCommerce products. 
  • How to customize your table columns, add a search box and filters, and much more.

Even if you don't have any experience with WordPress tables, don't worry! We'll provide you with step-by-step tutorials to help you navigate the world of WordPress table plugins.

Throughout this tutorial, we'll explore the various WordPress table plugins available on the market, but we'll focus on one in particular: Posts Table Pro. This plugin is highly innovative because you don’t have to spend time adding data to your tables manually. Instead, it creates them based on information that is already stored on your WordPress website!

Whether you're a blogger, running an e-commerce site, or anything in between, this guide will provide you with all the information you need to create engaging and dynamic WordPress tables for your site. So, let's get started!

What are WordPress tables?

table built with posts table pro

WordPress tables are visual representations of data that can be organized in a number of rows and columns within a website. They present information in a clear and organized manner, making it easier for website visitors to understand and analyze. WordPress tables can be used for a variety of purposes, including searchable databases, product comparisons, pricing tables, event schedules, and more.

WordPress tables can be created manually using HTML and CSS, but this requires coding knowledge. Alternatively, you can use WordPress table plugins to create tables using a simple drag-and-drop interface.

What are the common uses of WordPress tables?

WordPress table plugin Posts Table Pro

WordPress tables have a wide range of uses, including:

  1. Displaying data: WordPress tables can be used to display any kind of data, from sports scores to survey results. This can be helpful for organizations or individuals who need to present data in an easy-to-read format.
  2. Creating directories: WordPress tables can be used to create directories of businesses, organizations, or people. This can be helpful for local communities or niche industries.
  3. Listing resources: WordPress tables can be used to create resource lists, such as recommended books, tools, or websites. This can be especially helpful for bloggers or content creators who want to provide value to their readers.
  4. Displaying pricing tables: Pricing tables are an essential feature for any business that sells products or services. A well-designed pricing table can help customers compare different plans or packages and make informed decisions.
  5. Creating event schedules: WordPress tables are good for creating event schedules for conferences, festivals, and other events.
  6. Document libraries: A table layout is also an excellent way to present documents because users can quickly search, sort, and filter the table to find items in the document library.
  7. Showcasing product comparisons: eCommerce product comparison tables are a great way to help customers make informed decisions when shopping online. By presenting product features side-by-side, customers can quickly see which product best suits their needs.

What methods can you use to add a table to a WordPress site?

A dynamic WordPress table created using the Posts Table Pro plugin

There are several possible answers to the question of how to create a table in WordPress. It all depends on what kind of table you want to create. Let's look at the options:

Method 1: Create simple tables without a plugin

There are several ways to do this:

  • The Gutenberg block editor: The table block in Gutenberg editor allows you to create tables within WordPress. This method is simple and effective, but it comes with limited customization options like the tables in other page builder plugins. You also have to add all the data to the tables manually.
  • Google Sheets or Excel: You can create a table in Google Sheets or Excel and then paste it into WordPress. This method is simple and effective. However, you won't be able to customize or edit table formatting once it's in WordPress, and the table may not be responsive on mobile devices.
  • An online table builder tool: Online table builder tools allow you to create tables with various formatting options and then export them as HTML code. You can then paste this code into your WordPress site.
  • Custom HTML code: If you have coding experience, you can create table WordPress using custom HTML code. This method gives you complete control over the formatting and customization of the table, but it requires more technical knowledge.

Method 2: Use a static WordPress table plugin

A static table plugin can make the process of creating and adding tables to your WordPress site much easier. With a plugin, you can create customizable tables with various formatting table options and ensure that they are responsive on any device. Plugins like TablePress and DataTables are good examples of this.

Method 3: Use a dynamic WordPress table plugin

This option creates stylish tables like a static table plugin. However, a dynamic plugin like Posts Table Pro creates tables automatically using information already stored in your WordPress database. You save time as you don’t need to add or update the tables manually. They also come with extra features like searching, sorting, and filtering to help customers to find information in the table 🔥

Next, I'll show you how to create a custom table in WordPress using each of these 3 methods.

Method 1: How to create a table in WordPress with WordPress Block Editor

The Gutenberg editor which is built into WordPress comes with its own 'Table' block. This lets you create very simple static tables, without any fancy functionality such as search, sort or filter:

  1. Create a page using the WordPress block editor (Pages → Add New).
  2. Click the + icon to add a new block.
  3. Find and insert the 'Table' block.
  4. Choose how many rows and columns you'd like to have the table to have. (You can also add and remove them later using the block toolbar.)
  5. This will insert a blank table into your page. Click in it to add the content to each of the table cells.
  6. Use the right sidebar to format the table. For example, you can add a fancy-looking header or footer row.

Method 2: How to use TablePress to create tables

The most popular basic WordPress table plugin is TablePress, a free plugin with hundreds of thousands of installations. You can extend its core functionality using paid extensions.

The TablePress plugin lets you create a table in WordPress that can be sorted by contents. You can add extra features such as links, images, and pagination for large tables.

How to create a table in WordPress with TablePress

  1. Go to Plugins → Add New and search for "TablePress".
  2. Install and activate this free table plugin.
  3. Click on the new 'TablePress' section in your WordPress Dashboard.
  4. Click 'New' to create a table in WordPress from scratch, or 'Import' to create your table from an existing file (like Google Sheets or a CSV file). For example, let's say you wanted to create a pricing table:
Screenshot of the TablePress manual table creation

Adding the table to your site

Once your pricing table data is added, you can use the Table Content section to edit data displays, the Table Manipulation section to control how the data displays and the Table Information section will show the shortcode (such as [table id=1 /]). Paste this into a WordPress post, page, or text widget, in order to display the table on your site. At the bottom of the page, you can control if your table is sortable.

Showing your new table on the front end of your WordPress site is straightforward: copy the shortcode, and paste it into the post, page, or sidebar widget you want it to display. The pricing table in WordPress might look something like this:

Demo of the TablePress, one of the basic WordPress table plugins

You can now show off your table to visitors! If you need to update any of the data, return to the TablePress options, select your table, make the changes, and then save changes.

Limitations of basic WordPress table plugins

Manual table plugins are perfect if you want to display static data in a WordPress table, such as pricing information. However, they're less suitable for displaying more dynamic data such as a searchable database or member directory. That's because:

  • You need to manually enter and update data instead of displaying it dynamically from the WordPress database.
  • Extra features such as links to other content are possible but frustrating, time-consuming, and tedious to do in practice.
  • You can import data from Google Sheets or Excel, but that's not as dynamic as creating tables from content already stored on your WordPress site.

To tackle these limitations, you’ll need a more dynamic type of WordPress table plugin. This is precisely what we’ll look at next.

Method 3: How to automatically create WordPress tables using Posts Table Pro

Posts Table Pro is an innovative improvement to WordPress tables plugins. It is the best table plugin because it lets you dynamically use information already on your WordPress site. This could be posts, pages, products (from any e-commerce plugin), documents, upcoming events (from any events plugin), portfolio items, and literally anything else.

Posts Table Pro also comes with formatting options that enable you to customize and edit table background color, font, spacing, and design. You can even create comparison tables and pricing tables or display a league table!

If you have your table data stored as a post or custom post type in WordPress, Posts Table Pro can automatically create a sortable table for you. This makes it incredibly easy for beginners and experts alike. That's because there’s no data entry, no data to ever update, and everything happens automatically. It's also incredibly easy for your visitors, as they’ll be able to quickly find what they’re looking for in an always-up-to-date, sortable, searchable, and responsive table that looks great on mobile devices. No more old-fashioned fixed width tables 😅

What are custom post types and do I need them for my WordPress tables?

To understand the power of a dynamic WordPress table plugin, it's helpful to understand custom post types.

Custom post types are WordPress’ way of storing data: plugins such as WooCommerce, The Events Calendar, and advanced plugins such as Easy Post Types and Fields (which lets you create your own post types), all use custom post types. Technically, any WordPress post or page is a custom post type too; essentially any kind of content stored in WordPress is probably a custom post type.

As Posts Table Pro can dynamically create tables from any custom post type, this makes it incredibly powerful.

WordPress table plugin

How to create advanced tables in WordPress

  1. Get the plugin here, and then download it to your computer.
  2. Head to PluginsAdd NewUpload, and then select the ZIP file you just downloaded. After uploading, click on the Activate button.
  3. A setup wizard will automatically appear to guide you through creating your initial table. Set up your tables as follows:

Step 1: Name and Post Type

Give your table a name for internal use, which will appear in the list of tables in the WordPress admin. Then, choose the post type you want to display. If you don't have a content type, you can easily create one using the free Easy Post Types and Fields plugin. Just click on the "Create a new post type" link to start.

Step 2: Choose posts

Select which posts or pages to include in your table. The available options on this page will depend on the post type you selected on the previous page. For example, if your post type has any custom taxonomies, they will also be listed.

Step 3: Customize table columns

Customize columns in WordPress table plugin

Customize the columns you want to display in your table by selecting which columns to add and in what order. For instance, if you're creating a blog website, you may want to include details like:

  • Title
  • Author
  • Date publish

To add a column, choose the column type from the dropdown menu and click "Add." The added columns will appear in the list of columns above, and you can reorder them by dragging and dropping the sort icon or column title. You can also click the pencil icon to rename a column or use the toggle to hide the column name completely. To remove a column, click the X icon next to it.

Step 4: Add filters

WordPress table builder plugin with filters

To help users refine their selections, add filters to your table. Filters appear as dropdown menus above the table, and you can add as many as you like. The available filter options will vary depending on the post type selected on the first page. For example, you can add filters for categories and tags.

Step 5: Enable lazy loading

If your table includes hundreds or thousands of items, enable lazy loading to ensure optimal performance. However, using lazy load has some implications, so make sure you understand how it works before enabling it.

Step 6: Choose sorting options

Customize the sorting options for your table. You can set the default sorting option and the sort direction.

Step 7: Finished!

Once you've completed creating your table with the Post Table Pro plugin, the setup wizard will confirm that you're finished and provide instructions for inserting the table onto your WordPress site. You can choose to use the "Post Table" block in the Gutenberg editor or copy the shortcode from the table builder and paste it anywhere on your site, giving you the flexibility to place the table on any page.

How do I format a table in WordPress?

Much of the WordPress table formatting comes from the settings we discussed above. For example, you can format the table columns, controls, and so on.

Posts Table Pro also has additional table formatting options on its settings page. This includes design and color options to change how the table looks. To access these, go to Post Tables → Settings and tweak until you're happy 🎨

Case study: Posts Table Pro in action

Portfolio - Dr Claudia Welch using Barn2 plugins

Here’s a real-world from Dr. Claudia Welch, a Doctor of Oriental Medicine. She has created a wealth of courses which are for sale on her website.

Dr. Welch found that some students prefer to buy individual lessons from her courses, rather than the full course. This means she offers dozens of different products. As a result, her website uses Posts Table Pro to list all of these courses, sortable by name, category, and price. Visitors can click on any of the courses to find out more information and buy them if they wish.

Posts Table Pro made it simple to dynamically generate a sortable table that displays all of Dr. Welch’s courses. Easy for visitors, and easy to maintain. This is a great case study of how Posts Table Pro can make a website better for everyone :)

Troubleshooting common table issues

Even with the best WordPress table plugin, you may still encounter issues when it comes to displaying tables on your site. Here are some common table issues and how to troubleshoot them.

Tables not displaying correctly

  1. Incorrect shortcode syntax: If you’re using a shortcode to display your table and it’s not showing up properly, make sure you’ve entered the shortcode correctly. Check for any typos or missing brackets.
  2. Plugin or theme conflicts: Sometimes, conflicts with other plugins or your WordPress theme can cause tables not to display correctly. Try disabling other plugins or switching to a different theme to see if this resolves the issue.
  3. Table data formatting issues: If your table data is not displaying properly, check to make sure you’ve formatted it correctly. Ensure that you close all cells and avoid adding any unnecessary HTML code. (This won’t happen if you use a good table plugin like Posts Table Pro, which handles everything for you.)

Table performance issues

  1. Excessive data in tables: If your table has a large amount of data, it can slow down your site’s performance. Consider breaking up the table into smaller sections or using pagination to make it more manageable.
  2. Plugin or theme conflicts: As with tables not displaying correctly, conflicts with other plugins or your theme can cause performance issues with tables. Try disabling other plugins or switching to a different theme to see if this resolves the issue.
  3. Server or hosting issues: Server or hosting issues can cause slow table performance. Contact your WordPress hosting provider to see if they can help you troubleshoot the issue.

Accessibility issues with tables

  1. Lack of alternative text: If your table contains images, make sure you’ve added alternative text to them for users with visual impairments.
  2. Missing table headers: Table headers are important for users who rely on screen readers. Make sure each column has a header. Table plugins like Posts Table Pro add table headers automatically and let you customize them.
  3. Inconsistent table design: Consistent design helps users understand and navigate your table. Make sure your table is easy to read and follows a consistent design throughout.

Next steps: Using Posts Table Pro for your WordPress table management

Screenshot of Posts Table Pro in action

I hope you've enjoyed this complete guide to the best WordPress table plugins. We’ve answered the question "How to create a table in WordPress" in 3 different ways, ranging from manual tables to auto-generated tables with advanced features.

As we have seen, Posts Table Pro has everything you need to create dynamic, searchable and sortable tables:

  • Create dynamic tables of information stored on your WordPress site, such as posts, pages or any custom post type.
  • Add search box filter dropdowns and column sorting to your tables.
  • Create an unlimited number of tables, each one different.
  • Comes with full support and documentation.
  • 30-day no-risk guarantee.

WordPress plugin MailChimp blog posts email

Allowing people to receive your latest WordPress blog posts by email is a great way to build a following. Forget about RSS, Twitter etc. Some people just like to read the latest articles from your website using good old-fashioned email.

Today, I'm going to share 2 easy ways to send WordPress blog posts by email:

  1. Use the MailOptin WordPress plugin
  2. Use MailChimp (no plugins needed!)

You'll learn how to email new blog posts to subscribers - either globally or specific categories only. I'll also share some handy tips on how to take your blog posts by email to a new level. For example, I'll tell you how to create a private members-only blog and email it to approved members only.

Let's get started.

Should I use MailChimp to send new blog posts?

First, let's talk through the different ways to send new blog posts via email.

WordPress plugins

There are several plugins which allow you to send 'new post' emails directly from your WordPress website - JetPack Subscriptions and Subscribe2 being some of the main players:

  • JetPack Subscriptions can't be branded and allows your visitors to subscribe to your sites and other WordPress blogs under a single account. This may not be appropriate for a corporate blog.
  • Subscribe2 requires a lot of custom development to look professional. The 'Manage My Subscriptions' page is in the WordPress admin rather than on the front end of your website. This isn't appropriate for most websites.

Another problem with sending bulk emails directly from your WordPress website is that your emails are more likely to be spammed. You can add features such as SMTP mail to increase email deliverability. However, WordPress is not a specialist email platform.

Some WordPress hosting companies such as WP Engine or Kinsta (our recommended host) don’t even allow you to send mass emails directly from your website. This is because it uses a lot of server resources and can slow down your website.

If you want a WordPress plugin to do this for you, then I recommend using MailOptin with MailChimp instead. I tell you how in Method 2 of this tutorial. This sends the emails using MailChimp instead of WordPress, therefore avoiding these problems.

Dedicated mailing list platforms

It's better to use a specialist mailing list provider to email your subscribers when you publish a new WordPress blog post. Their servers are configured to maximise deliverability so your emails are less likely to be flagged as spam. They also have built-in features to help you comply with data protection legislation. And you also get professional options for email templates that aren't available with most WordPress plugins.

MailChimp is the world's leading mailing list provider and is free until you have 2,000 subscribers. Next, I will describe 2 easy methods to set up MailChimp to send WordPress blog posts by email. Read through both and choose the method that best matches your needs.

Getting started

If you haven't already started using MailChimp, follow these steps to get set up. You need to do this whether you're using Methods 1 or 2 of this tutorial.

Create a MailChimp account

First, go to mailchimp.com and create an account. It's free to set up and you will only ever have to pay anything to MailChimp if you have particularly high numbers of emails or subscribers (view their pricing page to see if this will apply to you).

Create an Audience

Go to the Audience section of your MailChimp account and create a new audience (previously called 'list' in MailChimp - they changed it in 2019). This is where all your subscribers will be stored.

Follow the instructions to set up and configure a new audience.

Import your subscribers

If you have existing subscribers that you wish to import to MailChimp, create a CSV file containing the data for your subscribers. There should be 1 column for each field - for example column 1 would include your subscribers' email addresses (1 per row), column 2 would be their first names and column 3 would contain their last names, if these are the fields you wish to store. (If you don't know how to create a CSV file, create an Excel spreadsheet with all your contacts, go to File > Save As and choose the '.csv' file type.)

Go to the Audience section of your MailChimp account and click on your audience. Click 'Import subscribers' from the 'Add subscribers' dropdown list. Follow the instructions to upload your CSV file. MailChimp will ask you to match the columns in the CSV file with the fields for your MailChimp audience, then you can go ahead with the import. MailChimp will tell you if there are any problems with the data.

Note: Your subscribers will NOT receive an email to tell them that they have been imported into your MailChimp audience.

Later in this tutorial, I'll tell you how to add a MailChimp signup form to your WordPress blog.


Method 1: Use the MailOptin plugin

MailOptin is a WordPress plugin that automatically emails your blog posts to your Mailchimp subscribers. You can choose whether to send the email as soon as each blog post is published, or as a daily, weekly and monthly newsletter roundup of your posts.

MailOptin is very easy to set up. It doesn’t require any coding knowledge.

To send email notification of new blog posts, you'll need the Pro or Agency plan. Get the plugin, login to your WordPress site and install and activate it.

Step 1 - Connect MailOptin to your Mailchimp account

Firstly, you need to get your Mailchimp API key:

MailChimp API key
  1. Go to 'Integrations' under the MailOption Dashboard menu.
  2. Click on the MailChimp tab to reveal the settings. Enter your API key and hit the 'Save Changes' button.
MailOptin MailChimp API key

Step 2 - Set up a new post notification email automation

Next is to set up the email automation that will be responsible for emailing your MailChimp subscribers when you publish a new post.

  1. Click 'Emails' under the MailOptin Dashboard menu.
  2. Click on the 'Add New' button at the top and select 'Email Automation'.
    MailOptin Add Email Notification
  3. Enter a title for the campaign and select a type:
    • Choose 'New Post Notification' to send the email as soon as a new post is published.
    • Select 'Posts Email Digest' to create a daily, weekly or monthly newsletter digest of your posts.
      MailOptin set up email
  4. Now select a template. You will then be redirected to the email builder.
  5. On the email builder, use the Body, Header, Content and Footer panels to customize the email template to your heart's content. You have options to change colors, add a header image, add custom content and more.
MailOptin email builder
MailOptin plugin settings
The Settings panel is where the the actual setup is done. Open it to set up the email subject and the maximum content length. You can also restrict the automation to specific categories, tags and authors. This is ideal if you want to send an email when blog posts are added to a specific category in WordPress.

Next, scroll down to the 'Recipient' section, select 'Mailchimp' and choose which of your MailChimp audiences (i.e. lists) the email will be delivered to:

MailOptin select recipient

When you are done, click the 'Save Changes' button at the top right corner and then toggle the activation switch to the right to enable the automation.

Step 3 - Add a MailChimp signup form

Now, you need to provide a way for subscribers to sign up to receive new blog posts by email.

With MailOptin, you do not need a separate plugin or form solution to capture and save subscribers to your MailChimp list. Simply follow the instructions in their documentation on how to create a Mailchimp signup form.

MailOptin signup form

And that's it! Whenever you publish a new post in WordPress, MailOptin will email it to your list subscribers - either straight away, or as a daily, weekly or monthly round up of newly published posts.


Method 2: Use MailChimp to send new blog posts by email

This basic method allows you to send new posts by email directly in MailChimp, without having to install any WordPress plugins. It works equally for wordpress.com or self-hosted wordpress.org sites.

Step 1 - Prepare your WordPress blog

Get your RSS feed URL

WordPress automatically generates an RSS feed listing all your blog posts. This is all you need to integrate MailChimp with your WordPress website.

If you want your MailChimp emails to display all the posts that you add to your website then your RSS feed will be https://your-domain.com/feed/ (e.g. the RSS feed for this website is https://barn2.com/feed/).

If you want to email your subscribers when you add posts to a specific blog category then the RSS feed will be the URL for your blog category followed by feed/ (e.g. https://barn2.com/category/wordpress-web-design-blog/feed/).

Find the URL for your RSS feed and save it in a handy place, as you'll need to paste this into MailChimp later.

Important note: The trailing slash / is compulsory, and MailChimp will only recognize your RSS feed if you add it as https://barn2.com/feed/ rather than https://barn2.com/feed. 

Displaying WordPress featured images in your MailChimp emails

Featured-Images-in-RSS-FeedsBy default, any images that you insert into the main content area of your WordPress posts will appear in your MailChimp emails. However featured images will not because WordPress doesn't output them into the RSS feed.

There's a handy plugin called Featured Images in RSS and MailChimp Email (what a mouthful!). This outputs the featured images into your RSS feed so that they are pulled through into your MailChimp emails.

Simply install and activate the plugin, go to Settings > Featured Images in RSS Feeds in the WordPress Admin, and configure the 2 settings. For best results, I recommend selecting the 'Medium' or 'Large' image size and 'Image Centred Above Text' for the position.

The plugin uses the image sizes that you have set in Settings > Media so you can change the size of your Medium or Large image size. Make sure your chosen image size is smaller than 600 pixels - if it's bigger than this, it won't fit into the available space in your emails (annoyingly, MailChimp won't make the images fit automatically).

Can I display other WordPress content types instead of blog posts?

Yes! WordPress posts and ALL custom post type come with RSS feeds that you can use to send alerts via MailChimp. You can use exactly the same method to send email notifications for new events, projects, e-commerce products and more.

Check out our separate article about how to send 'New product' alerts from your WooCommerce store.

Step 2 - Set up MailChimp to send your 'new post' emails

Create a campaign

A 'Campaign' is basically any email that is sent by MailChimp to your subscribers. The next step is to create an RSS-Driven Campaign which will automatically send your new blog posts to your subscribers.

  1. Go to the Campaigns section of your MailChimp account
  2. Click the Create Campaign button in the top right corner
  3. On the 'What do you want to create?' screen, select Create an Email
  4. On the next screen, go to the Automated tab and click Share blog updates. (This is the new way to send an RSS-driven campaign in MailChimp, and isn't easy to find!)
    MailChimp create RSS automated campaign
  5. Name your campaign and select which audience it will send to, then click Begin
  6. MailChimp Create RSS EmailRSS Feed and Send Timing screen:
    1. Add the RSS feed URL which you copied in Step 1 - e.g. https://your-domain.com/feed
    2. Choose how often the emails will be sent and click Next
  7. On the To which audience shall we send? screen, select the audience you created in Step 2 and click Next
  8. On the Campaign info screen, fill in all the information (email subject, From name etc.) and click Next
  9. Select any Template and then click through to the Design tab.
Create a dynamic email subject line

You can use MailChimp merge tags in the subject line, for example to include the title of your latest post.

For example, we use MailChimp to send our own Barn2 blog posts and tutorials by email each week. The subject line is '*|RSSITEM:TITLE|*' & More! For example, if our latest post is called How to use MailChimp to send WordPress blog posts by email then the subject of the weekly RSS email would be 'How to use MailChimp to send WordPress blog posts by email' & More!

MailChimp RSS email subject line

Now design your MailChimp RSS email

Now you get to design the email that will be sent to your subscribers whenever you add a new blog post. This is fairly self-explanatory although you'll need to spend some time familiarising yourself with it. Here are some tips:

  1. MailChimp RSS WordPress blog postsTo automatically include your new blog posts in the email, you need to add the RSS Header and/or RSS Items content block into your email. Find this in the Content section of the Design tab. The RSS Header element will add the title and description of your RDD feed and isn't essential. The RSS Items block will add the title, content and a link to each new post on your WordPress website, so this is essential!
  2. It's fine for you to add your own text before and after the RSS merge tags - for example, an introduction to the email. But don't edit anything within the *| |* merge tags. If you want to edit or remove any of the merge tags then you can read more about them at https://kb.mailchimp.com/merge-tags/rss-blog/rss-merge-tags. If the merge tags look scary and too technical for you then just ignore them and don't make any changes to the sections that contain them, then you won't risk breaking anything
  3. MailChimp will let you make various design changes to the email using the Style tab. This includes changing the background colour, fonts, spacing, link colour, etc. Use these to style the email to match your brand, as well as uploading your logo to the header of the email.
  4. Once you have finished designing your email, click Preview and Test at the top of the screen. Enter Preview Mode lets you view how the email will look on mobiles and full-sized screens. Send a Test Email lets you send a test email to yourself. Test your email in both of these ways before sending anything to your subscribers.
  5. Once you're completely happy with your email, click Next at the bottom right of the screen.
  6. On the next screen, check there are no errors. If everything looks good, click Start RSS.

What's next?

Now your email is set up and will start being sent to your subscribers at the frequency you have selected. The email will only be sent when you have added new blog posts to your website, otherwise, nothing will be sent.

Step 3 - Add a MailChimp signup form to your WordPress blog

Now everything is in place, you need to create a signup form so that readers can subscribe to your blog by email. The best way to do this is usually to add a 'Receive blog posts by email' form to the right-hand column of your blog or website. You can see this in action in the sidebar of this page.

There are lots of WordPress MailChimp plugins that will add a signup form for you. I recommend ChimpMate Pro which is a popular option. It’s simple to set up, has great reviews and there’s a free version as well as the premium version with extra features.

There are many other ways to build your MailChimp mailing list and I won't go into them all here. For example, you can automatically subscribe people who comment on your blog posts, purchase in your e-commerce online shop, submit your contact form, etc. Plan the best way to grow your mailing list as part of your overall online marketing strategy.

Now start blogging!

Everything is now in place. Regularly add new posts to your WordPress website and MailChimp will take care of the rest.

MailChimp will automatically check when new posts are available in your RSS feed, and will email your subscribers at the specified time. Make sure you subscribe to your own list so that you receive the emails yourself. This allows you to spot any problems and make improvements over time.


Bonus tip #1 - Email new blog posts to members only

So far, I've assumed that your WordPress blog is private and everyone can access it. But what if you want to mark part or all of your blog private and members-only? What if you only want to send the emails to members?

Fortunately, that's easy too. Here's how to do it:

  1. Install our WordPress Password Protected Categories plugin. Use it to password protect any or all of your blog categories.
  2. Use the instructions in Step 1, above, to get the RSS feed URL of the category (or categories) you wish to email to members.
  3. Follow the instructions in Step 2, above, to create a MailChimp Campaign to email new blog posts in the private category. Add the password to one of the static sections of the email (outside of your RSS merge tags), with instructions to use it to unlock the private blog. You may wish to create a Group or Segment within your MailChimp Audience for your private blog members, and set the Campaign to only send to this Group/Segment.
  4. Finally, decide how members will sign up for the private blog. If they have already joined your organisation separately then you can simply import them to MailChimp. Alternatively, you may wish to use a plugin such as Gravity Forms to create a MailChimp signup form that links with PayPal, so members have to pay to sign up.

Bonus tip #2 - List blog posts in an easy-to-find table

Once you've been blogging for a while (and emailing your new posts via MailChimp, of course!), your blog might start getting harder to navigate. This is inevitable because most blogs are listed in reverse date order, so older posts easily drop off the bottom - never to be seen again. It's a shame because unless your posts are very time-specific, they can continue providing value well into the future.

The solution is to use the Posts Table Pro plugin to list your posts in a more searchable, sortable format with extra features such as search box and filters. Your blog readers can easily use these tools to find posts about their topics they're interested, regardless of when they were published. It's the perfect way to revive old blog posts.

You'll basically be creating a WordPress blog index, which lists all your posts in an easy-to-navigate table. For example, Journey with Omraam found that their blog was getting difficult to navigate as it grew. They list large numbers of blog posts in a table with instant search above.

WordPress post index page plugin

You can also add filters above the table of blog posts. This makes things even easier for your blog readers, as they can filter to find posts by category, tag, or any custom taxonomy:

WordPress table plugin

This helps to keep your blog posts active and relevant, well after they were first emailed to your MailChimp subscribers.

Wrapping up

As you can see, there are lots of ways to integrate your WordPress blog with MailChimp, either on its own or using MailOptin!

And if your requirements are more complex, then you can combine this method with other WordPress plugins to add extra features. For example, you can add fancy MailChimp signup forms or even make parts of your blog private so that only existing members can read them and receive the emails!