Displaying posts using a WordPress shortcode

Every now and again I like to change the look of my blog by using a different WordPress theme. Inevitably there’s tinkering required, but I’m a sucker for tinkering! My latest theme change (to the Apostrophe 2 theme) was to a magazine-style blog. Anyone landing on the home page has to click individual posts to see the contents of the post, then return to the home page, and then click on the next post. My son was critical of this but I did point out that followers of my blog don’t normally visit the home page as they simply get notified of a new post and go directly to the post and its contents.

But having previously investigated WordPress shortcodes, I knew there was a way of answering my son’s criticism. So now he can simply select from the blog menu the menu item “Most recent blog posts”. This opens up a blog page listing the 5 most recent posts, in full and one after the other.

To create this solution, all that’s necessary is for the blog owner to create a new page, give it a title like ‘Recent posts’, and then add the new page to the blog menu. The new page needs to contain the following text on the page:

[ display-posts include_date=”true” include_content=”true” wrapper=”div” posts_per_page=”5″ ]

This will display in full the 5 most recent posts. Of course you can change 5 to whatever number you like up to a maximum of 100 (WordPress limitation).

In reality I wasn’t too happy with the results produced by this simple code. I wanted to alter the format of the displayed date and time and I also wanted to separate the individual posts in a more pronounced way.

The solution involves adding code to display the most recent post, followed by a separator, followed by the next most recent post, followed by a separator, etc etc. Here is the code, without further explanation, to display the 5 most recent posts with a separator between each post.

[ display-posts include_date=”true” date_format=” (D, j M Y @ g:i a)” include_content=”true” wrapper=”div” posts_per_page=”1″ offset=”0″ ]

< hr style=”width: 80%; height: 8px;” / >

[ display-posts include_date=”true” date_format=” (D, j M Y @ g:i a)” include_content=”true” wrapper=”div” posts_per_page=”1″ offset=”1″ ]

< hr style=”width: 80%; height: 8px;” / >

[ display-posts include_date=”true” date_format=” (D, j M Y @ g:i a)” include_content=”true” wrapper=”div” posts_per_page=”1″ offset=”2″ ]

< hr style=”width: 80%; height: 8px;” / >

[ display-posts include_date=”true” date_format=” (D, j M Y @ g:i a)” include_content=”true” wrapper=”div” posts_per_page=”1″ offset=”3″ ]

< hr style=”width: 80%; height: 8px;” / >

[ display-posts include_date=”true” date_format=” (D, j M Y @ g:i a)” include_content=”true” wrapper=”div” posts_per_page=”1″ offset=”4″ ]

Good luck!

Have your say!

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s