Enabling Post Series in WordPress

A post series is a collection of articles about a specific topic. Typically on each post, there will be some indicator that this article is part of a series with a linked listing to the other posts in the series. An post series example is a series called “Summer Movie Reviews” that contain “Inception”, “Toy Story 3”, and “Despicable Me” posts. A post series provides a great way to organize articles for you readers. Unfortunately, WordPress does not natively contain the ability to create post series. This article outlines how to enable post series in WordPress.

Using a Plugin
There are several plugins available that allow you to easily create and edit post series.  The beauty of using a plugin is that its easy to install, upgrade, and remove.  Most of the post series plugins allow you to easily customize the display, reorder posts, and much more.  Unfortunately, none of them seem to work correctly in the current version of WordPress (3.x).  Your experience may vary so feel free to search for “series” or “serial” in the plugins repository and test drive these plugins.

Using Custom Code
You can edit your active WordPress theme to add the ability to create a post series.  To add the ability:

  • Browse to your theme directory – ex. C:\Blog\wp-content\themes\YourTheme
  • Edit functions.php and paste the following to the very beginning of the file:
    • NOTE: If you would like the ARTICLES IN THIS SERIES listing to display on private posts, drafts, etc (ex. to see how the series will look before you publish it), modify the line $query = “… to $query = “post_status=publish,pending,draft,future,private,trash&…
  • Edit single.php and paste “<?php article_series(); ?>” above the content DIV.  Ex.

You are now ready to create a post series.

To add a post to a series, simply add a custom field called “series” and set the field value to your desired series name.  Repeat this for all posts in a given series.

The post order is controlled by the publish date.  Simply modify the publish date on each post to change their order in the series table of contents displayed on each series post page.