Shortcodes

Display Posts Shortcode

The Display Posts Shortcode allows you to fine-tune the posts you wish to display on a page.

Add the shortcode [display-posts] in a post or page, and use the arguments to query based on tag, category, post type, and many other possibilities.

Image Alignment

A common request is display a list of posts with title, excerpt, and the thumbnail aligned to the left. Here’s the shortcode you might use:

[display-posts include_excerpt="true" image_size="thumbnail" wrapper="div"]

This includes the excerpt, adds an image of the “thumbnail” size (you can customize the image sizes in Settings > Media), and tells it to present the list without bullets.

In order to get the image floating to the left, add this to your custom CSS file (requires the Custom Design upgrade):

.display-posts-listing .listing-item {
clear: both;
}

.display-posts-listing img {
float: left;
margin: 0 10px 10px 0;
}

↑ Table of Contents ↑

Examples

[display-posts tag="advanced" posts_per_page="20"]

This will list the 20 most recent posts with the tag ‘Advanced’.

[display-posts tag="advanced" image_size="thumbnail"]

This will list the 10 most recent posts tagged ‘Advanced’ and display a post image using the ‘Thumbnail’ size.

[display-posts category="must-read" posts_per_page="-1" include_date="true" order="ASC" orderby="title"]

This will list every post in the Must Read category, in alphabetical order, with the date appended to the end.

[display-posts taxonomy="color" tax_term="blue" include_excerpt="true"]

This will display the title and excerpt of the 10 most recent posts marked “blue” in the custom taxonomy “color”.

[display-posts wrapper="ol"]

This will display posts as an ordered list. Options are ul for unordered lists (default), ol for ordered lists, or div for divs.

[display-posts id="14,3"]

This will display only the posts with an ID of 14 and 3.

↑ Table of Contents ↑

↑ Table of Contents ↑

Arguments

author
Specify the post author
Default: empty
Example: [display-posts author="bill"]

category
Specify the category slug (or comma separated list of category slugs)
Default: empty
Example: [display-posts category="fishing,hiking"]

date_format
Specify the date format used when include_date is true. See Formatting Date and Time on the Codex for more information.
Default: ‘(n/j/Y)’
Example: [display-posts include_date="true" date_format="F j, Y"]

id
Specify a specific post ID (or multiple post IDs) to display.
Default: empty
Example: [display-posts id="9, 10"]

image_size
Specify an image size for displaying the featured image, if the post has one. The image_size can be set to thumbnail, medium, large (all controlled from Settings > Media).
Default: empty
Example: [display-posts image_size="thumbnail"]

include_date
Include the post’s date after the post title. The default format is (7/30/12), but this can be customized using the ‘date_format’ parameter.
Default: empty
Example [display-posts include_date="true"]

include_excerpt
Include the post’s excerpt after the title (and date if provided).
Default: empty
Example: [display-posts include_excerpt="true"]

offset
The number of posts to pass over
Default: 0
Example: [display-posts offset="3"]

order
Specify whether posts are ordered in descending order (DESC) or ascending order (ASC).
Default: DESC
Example: [display-posts order="ASC"]

orderby
Specify what the posts are ordered by. See the available parameters here.
Default: date
Example: [display-posts orderby="title"]

post_parent
Display the pages that are a child of a certain page. You can either specify an ID or ‘current’, which displays the children of the current page.
Default: empty
Example: [display-posts post_type="page" post_parent="8"]

post_status
Show posts associated with a certain post status
Default: publish
Example: [display-posts post_status="publish, future"]

post_type
Specify which post type to use. You can use a default one (post or page).
Default: post
Example: [display-posts post_type="page"]

posts_per_page
How many posts to display.
Default: 10
Example: [display-posts posts_per_page="5"]

tag
Display posts from a specific tag, or tags
Default: empty
Example: [display-posts tag="tag1, tag2"]

taxonomy, tax_term, and tax_operator
Use these parameters to do advanced taxonomy queries. Use ‘taxonomy’ for the taxonomy you’d like to query, ‘tax_term’ for the term slug (or terms) you’d like to include, and ‘operator’ to change how the query uses those terms (most likely this field will not be needed).
Default: ‘taxonomy’ = empty , ‘tax_term’ = empty , ‘tax_operator’ = ‘IN’
Example: [display-posts taxonomy="color" tax_term="blue, green"]

wrapper
What type of HTML should be used to display the listings. It can be an unordered list (ul), ordered list (ol), or divs (div) which you can then style yourself.
Default: ul
Example: [display-posts wrapper="ol"]

↑ Table of Contents ↑

Multiple Taxonomy Queries

While most people will only ever need a single taxonomy query, this shortcode supports an infinite number of taxonomy queries. Let’s say you wanted to get all posts in category “featured” and also tagged “homepage”. We’ll use a shortcode that looks like this:

[display-posts taxonomy="category" tax_term="featured" taxonomy_2="post_tag" tax_2_term="homepage"]

You can string as many of those as you like, just start the count at 2. In the field listing below, replace (count) with an actual number.

Here’s the available fields:

taxonomy_(count)
Which taxonomy to query
Default: empty

tax_(count)_term
Which terms to include (if more than one, separate with commas)
Default: empty

tax_(count)_operator
How to query the terms (IN, NOT IN, or AND)
Default: IN

tax_relation
Describe the relationship between the multiple taxonomy queries (should the results match all the queries or just one of them). Available options: AND and OR
Default: AND

↑ Table of Contents ↑

Limits

The Display Posts Shortcode has a limit of 100 posts displayed.

Not quite what you're looking for?

Get Help