What's WP
Find Everything Related to WordPress - Best Tutoriasl on WordPress!
How to Show All WordPress Posts on One Page

How to Show All WordPress Posts on One Page

WordPress is built with archive pages for tags, categories, authors and dates. However, many people intend to create custom archive pages to display certain posts, for example, highlighting the popular posts, displaying date-based archives, etc.

Among these purposes, some blog owners simply want to display all their posts on a single page without pagination. In such a case, only the post titles are listed with links to the post content, so that the readers can quickly know what the blog is about and find the post they want.

If you have this need, too, there are two solutions open to you. You can create a custom template with code, or control the display of posts by using a plugin. This post is going to focus on the latter method and introduce two useful plugins which meet different needs. With the utilization of a plugin, you don’t have to know any PHP knowledge or edit any template file.

1. Show All WordPress Posts with Display Posts Shortcode Plugin

Display Posts Shortcode is a highly rated plugin that allows you to display various listings of WordPress posts easily without touching code. It comes with a shortcode which you can use to manage the listings.

As the plugin is built with simplicity, there are no plugin settings to deal with. Therefore, after installing the plugin, you can follow the guides below immediately to finish your jobs.

Display all WordPress posts on one page

Upon the plugin activation, you only need to create a new WordPress page by clicking Pages > Add New, enter any title for the page, and then paste the shortcode below into the content.

Display All Posts with Shortcode

With this shortcode, you are displaying every post on your WordPress site on the new archive page. By default, only the post titles are displayed in order to make the page clean.

Show All WordPress Posts on One Page

According to your needs, you can customize this simple shortcode by learning the following details.

  • As posts_per_page decides the number of posts displayed on the archive page, you can define the figure to be whatever you like, for example, 100 or 1000, all depending on how many posts you want to display.
  • The order DESC means posts are displayed in a descending manner so that the latest posts are displayed first, and then the older ones. If you use ASC, the oldest posts are shown first.

Customize the use of the shortcode

The plugin is simple, with one shortcode only. However, it is very powerful because you can add many arguments to the shortcode to control the display of your posts. Below are some examples of the available arguments.

  • Display the posts in a certain category only: category=”blogging”, for example, [display-posts category=”blogging”]. Multiple categories should be separated with a comma.
  • Display the posts written by a certain author: author=”joyce”.
  • Show excerpt after post title: include_excerpt=”true”. This is not recommended if you list 20 or more posts on the archive page.
  • Show post date after title: include_date=”true”.
  • Show posts with specific ids: id=”111,112,113,114″.

Besides these examples, you can also specify the tag, show featured images, change the list order, ignore certain posts, change the date format, define the post type, etc. The details about more arguments can be found in this plugin documentation, and the instructions of using them are also included.

You can try adding the arguments you want in the shortcode to test how they change the listings of posts. Then you will find how simple and helpful the shortcode is.

2. Show All WordPress Posts on One Page in a Year-Based Manner

Displaying a long list of hundreds of posts on a single page is not a good idea because your readers will possibly be overwhelmed and lose the interest to explore your site. However, if you have published so many posts on your WordPress site and indeed want to show them all on one page, there is still a solution – to list them on a yearly basis.

By utilizing this method, only the years are displayed on the archive page by default, while users can view the posts published in any year by expanding that year. Therefore, your archive page looks clean while containing all posts.

If you want to try this method, you can install and use a plugin named Simple Yearly Archive. After activating the plugin, you can configure its settings under the Settings menu in your WordPress dashboard.

Simple Yearly Archive Settings

The plugin enables you to display posts in different ways. If you have created separate yearly archives, you can use the “Linked Years” option to link to those archives. If not, you are able to use “Collapsible Years” to show all your posts on a yearly basis. For the latter option, make sure to fill the “Before/After” like what we’ve done in the screenshot above.

Besides, you can customize the display of posts by:

  • Showing the post count for a year.
  • Showing categories after post titles.
  • Showing post author.
  • Displaying excerpt and defining the maximum characters.
  • Displaying post thumbnails.

These can be achieved by simply checking the corresponding options in the plugin settings.

After updating the settings, you can create a new page and add the shortcode [SimpleYearlyArchive] to it. This will generate a year-based post list on that page.

Show All WordPress Posts on Yearly Basis

In addition to the options included in the plugin settings, there are several parameters you can add to the shortcode to further control the post listings, which can be learned in this documentation.


Joyce is a professional writer & SEOer who loves trying new things and sharing the experience through blogging. She loves clean design, playing with different WordPress themes, SEO, etc. Very often, you could find her in various WordPress event as invited speakers.