get_posts_nav_link() WP 2.8.0

Отримує посилання на попередню та наступну сторінку записів на сторінці архіву (категорії/мітки/автора).

Використовується для вставки посилань пагінації (< назад – вперед >) для сторінок архівів.

Коли необхідно вивести результат на екран, використовуйте posts_nav_link()

Працює на основі:
get_next_posts_link()
Основа для:
posts_nav_link()

Хуків немає.

Повертає

Строку. HTML посилань навігації на сторінках архівів.

Використання

$links_html = get_posts_nav_link( $args );
$args
(рядок/масив)

Параметри для створення навігаційних посилань.

  • sep (string)
    Текст між посиланнями – роздільник.
    За замовчуванням: ‘-‘

  • prelabel (string)
    Текст (анкор) посилання для попереднього посту.
    Типово: __(‘« Previous Page’)

  • nxtlabel (string)
    Текст (анкор) посилання для наступного посту.
    Типово: __(‘Next Page »’)

За замовчуванням: array()

Приклади

0

#1 Демонстрація того, що виводить функція

echo $links_html = get_posts_nav_link();

Виведе:

<a href="посилання">« Попередня сторінка</a> — <a href="посилання">Наступна сторінка »</a>
0

#2 Розмістимо посилання посередині і передамо параметри

Для цього обернемо їх у DIV та вкажемо йому властивість text-align:center

<?php $links_html = get_posts_nav_link(array( 'sep' => ' . ', 'prelabel' => 'Попередня сторінка', 'nxtlabel' => 'Наступна сторінка' )); echo "<div style="text-align:center;">$links_html</div>"; ?>
0

#3 Замість текстів: «Попередня сторінка», «Наступна сторінка», можна використовувати зображення

$links_html = get_posts_nav_link(array( 'sep' => ' . ', 'prelabel' => '<img src="' . get_stylesheet_directory_uri() . '/images/prev.jpg" />', 'nxtlabel' => '<img src="' . get_stylesheet_directory_uri() . '/images/next.jpg" />' ));

нотатки

  • Global. WP_Query. $wp_query WordPress Query object.

список змін

З версії 2.8.0Введено.

Код get_posts_nav_link() WP 6.0.2

function get_posts_nav_link( $args = array() ) { global $wp_query; $ return = ''; if ( ! is_singular() ) { $defaults = array( 'sep' => ' — ', 'prelabel' => __( '« Previous Page' ), 'nxtlabel' => __( 'Next Page »' ), ); $ args = wp_parse_args ($ args, $ defaults); $max_num_pages = $wp_query->max_num_pages; $paged = get_query_var( 'paged'); // Лише має sep if there's both prev and next results. if ( $paged < 2 || $paged >= $max_num_pages ) { $args['sep'] = ''; } if ( $max_num_pages > 1 ) { $return = get_previous_posts_link( $args['prelabel'] ); $return .= preg_replace( '/&([^#])(?![az]{1,8};)/i', '&$1', $args['sep'] ); $return .= get_next_posts_link( $args['nxtlabel'] ); } } return $return; }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *