WordPress.org

Codex

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

Function Reference/next post link

Description

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

In standard usage (within the default, unaltered loop) next_post_link will generate a link to a post that is newer (more recent) than the current post. This is in contrary to the similarly-named previous_posts_link, which will typically link to a page of posts that is older than the current batch.

This tag must be used in The Loop.

Usage

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

Parameters

format
(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: '%link &raquo;'
link
(string) (Optional) Link text to display.
Default: '%title' (next post's title)
in_same_term
(boolean) (optional) Indicates whether next 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 next post link will lead to the next post in any of those terms.
  • true
  • false
Default: false
excluded_terms
(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
taxonomy
(string) (Optional) Taxonomy, if $in_same_term is true. Added in WordPress 3.8.
Default: 'category'

Examples

Default Usage

Displays link with the post title of the next post (chronological post date order), followed by a right angular quote (»).

Next Post Title »
<?php next_post_link(); ?>

Bold Post Title As Link

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

Next Post Title
<?php next_post_link( '<strong>%link</strong>' ); ?>

Text As Link, Without Post Title, Within Same Category

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

Next post in category
<?php next_post_link( '%link', 'Next post in category', TRUE ); ?>

Within Same Category, Excluding One

Displays link to next 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. Exclude multiple categories by using " and " as a delimiter.

Next post in category
<?php next_post_link( '%link', 'Next post in category', TRUE, '13' ); ?>

Within Same Taxonomy

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

Next post in taxonomy
<?php next_post_link( '%link', 'Next post in taxonomy', TRUE, ' ', 'post_format' ); ?>

Notes

See also previous_post_link().

Resources

Source File

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

Related

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