Showing posts in chronological order on a site

The menu items allowing users to view the blog in reverse order

The Home menu

Blogs are displayed in reverse chronological order; the most recent items are displayed at the top. Some users want a Journal-style site, which starts with the oldest post and continues in chronological order. Some people viewing a blog would like to be able to view in this order.

Displaying posts in reverse order is easy, just append the string ?order=asc to the blog URL, for example:

Writing a journal site

For people wanting a journal site there is no way to make the blog front-page display posts in chronological order. The best option is probably to have a static front page, which has a link to the reverse order page. This can be a simple “front cover” page with nice graphics and an “enter here” link, or include a synopsis or an index. The archives shortcode can be used easily to produce a basic index, or the more complex display-posts shortcode can give you more control over the result.

Putting options in the menu

I did not want to produce a Journal site as my sites are primarily blogs. However I thought that it would be useful for readers to be able to select the reverse order from a menu. To do this a custom menu is needed, but fortunately my sites already used custom menus. To add the option I went into the Dashboard-> Appearance->Menus and added entries as below:

Editing the custom menu

Editing the custom menu

The two custom link entries have URLs displaying the posts in the desired order. You can see them in this blog by hovering over the “about” in the menu. I also entered them in the menu for my Western Hindu blog, but here to emphasise that I prefer it to be read in blog order I named the options “Home Page” and “Home Page – reverse order”.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s