Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/previous post link


Used on single post permalink pages, this template tag displays a link to the previous post which exists in chronological order from the current post.

This tag must be used in The Loop.


<?php previous_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ); ?>


(string) (Optional) Format string for the link. This is where to control what comes before and after the link. '%link' in string will be replaced with whatever is declared as 'link' (see next parameter). 'Go to %link' will generate "Go to <a href=..." Put HTML tags here to style the final results.
Default: '&laquo; %link'
(string) (Optional) Link text to display.
Default: '%title' (previous post's title)
(boolean) (optional) Indicates whether previous post must be within the same taxonomy term as the current post. If set to 'true', only posts from the current taxonomy term will be displayed. If the post is in both the parent and subcategory, or more than one term, the previous post link will lead to the previous post in any of those terms.
  • true
  • false
Default: false
(string/array) (optional) Array or a comma-separated list of numeric terms IDs from which the next post should not be listed. For example array(1, 5) or '1,5'. This argument used to accept a list of IDs separated by 'and', this was deprecated in WordPress 3.3
Default: None
(string) (Optional) Taxonomy, if $in_same_term is true. Added in WordPress 3.8.
Default: 'category'


Default Usage

Displays link with left angular quote («) followed by the post title of the previous post (chronological post date order).

« Previous Post Title

 <?php previous_post_link(); ?> 

Bold Post Title As Link

Displays link with previous chronological post's title wrapped in 'strong' tags (typically sets text to bold).

Previous Post Title

 <?php previous_post_link('<strong>%link</strong>'); ?> 

Text As Link, Without Post Title, Within Same Category

Displays custom text as link to the previous post within the same category as the current post. Post title is not included here. "Previous in category" is the custom text, which can be changed to fit your requirements.

Previous in category

 <?php previous_post_link('%link''Previous in category'TRUE); ?> 

Within Same Category, Excluding One

Displays link to previous post in the same category, as long as it is not in category 13 (the category ID #). You can change the number to any category you wish to exclude. Array or comma-separated list of category ID(s) from which the previous post should not be listed. For example array( 1, 5) or '1,5'.

Previous in category

 <?php previous_post_link('%link''Previous in category'TRUE'13'); ?> 

Within Same Taxonomy

Displays link to previous post in the same taxonomy term. Post Formats are a taxonomy so the following would link to the previous post with the same post format.

Previous post in taxonomy

 <?php previous_post_link'%link''Previous post in category'TRUE' ''post_format' ); ?> 

Post Title As Link, Within Same Custom Taxonomy

Displays link to previous post in the same custom taxonomy term. You have a Custom Post Type called Buildings, and a custom taxonomy called Neighborhood. Here you don't need to use the Custom Post Type( as Custom Post Type already in the WP query). Just mention the taxonomy name(which is neighborhood as per this example) as last parameter of previous_post_link function.

Previous (Custom) Post Title in Neighborhood Taxonomy

 <?php previous_post_link'%link''%title'TRUE' ''neighborhood' ); ?> 



Source File

previous_post_link() is located in wp-includes/link-template.php.


See also index of Function Reference and index of Template Tags.