функция
since 2.8.0
get_adjacent_post_rel_link()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
get_adjacent_post_rel_link( string $title = '%title', bool $in_same_term = false, int[]|string $excluded_terms = '', bool $previous = true, string $taxonomy = 'category' ): string|null
Описание
Может быть реляционной ссылкой на следующую или предыдущую запись.
Оригинал (английский)
Can either be next or previous post relational link.
Параметры
$title
string
необязательный
= '%title'
Формат заголовка ссылки. По умолчанию '%title'.
$in_same_term
bool
необязательный
= false
Должна ли ссылка относиться к тому же термину таксономии.
$excluded_terms
int[]|string
необязательный
= ''
Массив или список ID исключаемых терминов, разделённых запятыми.
$previous
bool
необязательный
= true
Показывать ли ссылку на предыдущую или следующую запись.
$taxonomy
string
необязательный
= 'category'
Таксономия, если $in_same_term равно true. По умолчанию 'category'.
Возвращаемое значение
string|null
Исходный код
wp-includes/link-template.php:2061
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 null;
}
$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 );
}
История изменений
| Версия | Описание |
|---|---|
| 2.8.0 | Introduced. |

