Функция get_posts_nav_link() в WordPress: как улучшить навигацию на сайте

Функция get_posts_nav_link() в WordPress

Функция get_posts_nav_link() предназначена для получения навигационных ссылок между страницами с записями в WordPress. Она позволяет добавлять ссылки на предыдущую и следующую страницы, что улучшает навигацию по вашему сайту.

Используемые функции

  • get_previous_posts_link()
  • get_next_posts_link()

Возвращаемое значение

Функция возвращает строку с навигационными ссылками для страниц записей.

Использование функции

Синтаксис для вызова функции следующий:

get_posts_nav_link( $args );

Параметры функции

Функция принимает один параметр $args, который может быть строкой или массивом. Это аргументы, необходимые для построения навигационных ссылок.

По умолчанию это массив:

$args = array();

В этом масс��ве могут быть следующие ключи:

  • sep (string): Символ-разделитель между ссылками. По умолчанию — '—'.
  • prelabel (string): Текст ссылки для предыдущей страницы. По умолчанию — '« Предыдущая страница'.
  • nxtlabel (string): Текст ссылки для следующей страницы. По умолчанию — 'Следующая страница »'.

Примеры использования

Пример 1: Простой вызов функции

echo get_posts_nav_link();

Вывод будет следующим:

Предыдущая страница - Следующая страница

Пример 2: Центрирование ссылок

Вы можете расположить ссылки в центре, обернув их в <div> с CSS-свойством text-align:center:

$links_html = get_posts_nav_link(array(
    'sep' => ' . ',
    'prelabel' => 'Предыдущая страница',
    'nxtlabel' => 'Следующая страница'
));

echo "
$links_html
";

Пример 3: Использование изображений вместо текста

Если вы хотите использовать изображения для навигации, можно сделать так:

$links_html = get_posts_nav_link(array(
    'sep' => ' . ',
    'prelabel' => '',
    'nxtlabel' => ''
));

Примечания

  • Глобальная переменная: $wp_query — это объект запроса WordPress, который содержит информацию о текущем запросе.

Изменения

  • Функция была добавлена в версии 2.8.0 WordPress.

Код функции

Вот как выглядит код функции get_posts_nav_link():


function get_posts_nav_link( $args = array() ) {
global $wp_query;

$return = '';

if ( ! is_singular() ) {
    $defaults = array(
        'sep'      => ' — ',
        'prelabel' => __( '« Предыдущая страница' ),
        'nxtlabel' => __( 'Следующая страница »' ),
    );
    $args     = wp_parse_args( $args, $defaults );

    $max_num_pages = $wp_query->max_num_pages;
    $paged         = get_query_var( 'paged' );

    // Добавляем разделитель только если есть и предыдущий, и следующий результаты.
    if ( $paged < 2 || $paged >= $max_num_pages ) {
        $args['sep'] = '';
    }

    if ( $max_num_pages > 1 ) {
        $return  = get_previous_posts_link( $args['prelabel'] );
        $return .= preg_replace( '/&([^#])(?![a-z]{1,8};)/i', '&$1', $args['sep'] );
        $return .= get_next_posts_link( $args['nxtlabel'] );
    }
}
return $return;

}

Теперь вы знаете, как использовать функцию get_posts_nav_link() для создания удобных навигационных ссылок на страницах с записями в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *