Retrieves the adjacent post relational link.
Description
Can either be next or previous post relational link.
Parameters
$title
stringoptional- Link title format. Default
'%title'
.Default:
'%title'
$in_same_term
booloptional- Whether link should be in the same taxonomy term.
Default:
false
$excluded_terms
int[]|stringoptional- Array or comma-separated list of excluded term IDs.
Default:
''
$previous
booloptional- Whether to display link to previous or next post.
Default:
true
$taxonomy
stringoptional- Taxonomy, if
$in_same_term
is true. Default'category'
.Default:
'category'
Source
function get_adjacent_post_rel_link( $title = '%title', $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) {
$post = get_post();
if ( $previous && is_attachment() && $post ) {
$post = get_post( $post->post_parent );
} else {
$post = get_adjacent_post( $in_same_term, $excluded_terms, $previous, $taxonomy );
}
if ( empty( $post ) ) {
return;
}
$post_title = the_title_attribute(
array(
'echo' => false,
'post' => $post,
)
);
if ( empty( $post_title ) ) {
$post_title = $previous ? __( 'Previous Post' ) : __( 'Next Post' );
}
$date = mysql2date( get_option( 'date_format' ), $post->post_date );
$title = str_replace( '%title', $post_title, $title );
$title = str_replace( '%date', $date, $title );
$link = $previous ? "<link rel='prev' title='" : "<link rel='next' title='";
$link .= esc_attr( $title );
$link .= "' href='" . get_permalink( $post ) . "' />\n";
$adjacent = $previous ? 'previous' : 'next';
/**
* Filters the adjacent post relational link.
*
* The dynamic portion of the hook name, `$adjacent`, refers to the type
* of adjacency, 'next' or 'previous'.
*
* Possible hook names include:
*
* - `next_post_rel_link`
* - `previous_post_rel_link`
*
* @since 2.8.0
*
* @param string $link The relational link.
*/
return apply_filters( "{$adjacent}_post_rel_link", $link );
}
Hooks
- apply_filters( “{$adjacent}_post_rel_link”,
string $link ) Filters the adjacent post relational link.
Changelog
Version | Description |
---|---|
2.8.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.