Using WordPress ‘previous_post_link()’ PHP function

The previous_post_link() WordPress PHP function displays the previous post link that is adjacent to the current post.

Usage

previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy )

Parameters

  • $format string (Optional): Link anchor format. Default ‘« %link’.
  • $link string (Optional): Link permalink format. Default ‘%title’.
  • $in_same_term bool (Optional): Whether link should be in the same taxonomy term. Default: false.
  • $excluded_terms int[]|string (Optional): Array or comma-separated list of excluded term IDs. Default: ”.
  • $taxonomy string (Optional): Taxonomy, if $in_same_term is true. Default ‘category’.

More information

See WordPress Developer Resources: previous_post_link

Examples

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.

previous_post_link( '%link', '%title', true, ' ', 'neighborhood' );

Bold Post Title As Link

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

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

Default Usage

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

previous_post_link();

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_post_link( '%link', __( 'Previous in category', 'textdomain' ), 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_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 within the same post format.

previous_post_link( '%link', '%title', true, ' ', 'post_format' );