get_the_post_navigation() WordPress Function
The get_the_post_navigation() function is used to display a set of navigation links for a post. These links can be used to navigate between posts in a category or tag.
get_the_post_navigation( array $args = array() ) #
Retrieves the navigation to next/previous post, when applicable.
Parameters
- $args
(array)(Optional)Default post navigation arguments.
- 'prev_text'
(string) Anchor text to display in the previous post link. Default '%title'. - 'next_text'
(string) Anchor text to display in the next post link. Default '%title'. - 'in_same_term'
(bool) Whether link should be in a same taxonomy term. Default false. - 'excluded_terms'
(int[]|string) Array or comma-separated list of excluded term IDs. - 'taxonomy'
(string) Taxonomy, if$in_same_termis true. Default 'category'. - 'screen_reader_text'
(string) Screen reader text for the nav element. Default 'Post navigation'. - 'aria_label'
(string) ARIA label text for the nav element. Default 'Posts'. - 'class'
(string) Custom class for the nav element. Default 'post-navigation'.
Default value: array()
- 'prev_text'
Return
(string) Markup for post links.
Source
File: wp-includes/link-template.php
function get_the_post_navigation( $args = array() ) {
// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
$args['aria_label'] = $args['screen_reader_text'];
}
$args = wp_parse_args(
$args,
array(
'prev_text' => '%title',
'next_text' => '%title',
'in_same_term' => false,
'excluded_terms' => '',
'taxonomy' => 'category',
'screen_reader_text' => __( 'Post navigation' ),
'aria_label' => __( 'Posts' ),
'class' => 'post-navigation',
)
);
$navigation = '';
$previous = get_previous_post_link(
'<div class="nav-previous">%link</div>',
$args['prev_text'],
$args['in_same_term'],
$args['excluded_terms'],
$args['taxonomy']
);
$next = get_next_post_link(
'<div class="nav-next">%link</div>',
$args['next_text'],
$args['in_same_term'],
$args['excluded_terms'],
$args['taxonomy']
);
// Only add markup if there's somewhere to navigate to.
if ( $previous || $next ) {
$navigation = _navigation_markup( $previous . $next, $args['class'], $args['screen_reader_text'], $args['aria_label'] );
}
return $navigation;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Added the class parameter. |
| 5.3.0 | Added the aria_label parameter. |
| 4.4.0 | Introduced the in_same_term, excluded_terms, and taxonomy arguments. |
| 4.1.0 | Introduced. |