Комплексное руководство по добавлению пагинации в результаты поиска WordPress

В этой статье мы рассмотрим различные методы добавления нумерации страниц в результаты поиска в WordPress. Пагинация – это важная функция, которая улучшает взаимодействие с пользователем и упрощает навигацию по результатам поиска. Мы обсудим различные подходы с примерами кода, которые помогут вам эффективно реализовать нумерацию страниц.

Метод 1: использование плагина WP-PageNavi:
Плагин WP-PageNavi — популярный выбор для добавления нумерации страниц в WordPress. Чтобы использовать его, выполните следующие действия:

  1. Установите и активируйте плагин WP-PageNavi из репозитория плагинов WordPress.
  2. Перейдите в «Настройки»» PageNavi, чтобы настроить параметры плагина.
  3. В файле шаблона результатов поиска (например, search.php) добавьте следующий код там, где вы хотите, чтобы ссылки на страницы отображались:
<?php if (function_exists('wp_pagenavi')) {
    wp_pagenavi();
} ?>
  1. Сохраните файл и обновите страницу результатов поиска, чтобы увидеть ссылки на страницы в действии.

Метод 2: пользовательское разбиение на страницы с помощью WP_Query:
Если вы предпочитаете более индивидуальный подход, вы можете использовать класс WP_Query для создания разбиения на страницы. Вот пример:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
    's' => get_search_query(),
    'paged' => $paged
);
$search_query = new WP_Query($args);
if ($search_query->have_posts()) {
    while ($search_query->have_posts()) {
        $search_query->the_post();
        // Display search results
    }
// Pagination
    echo '<div class="pagination">';
    echo paginate_links(array(
        'total' => $search_query->max_num_pages,
        'current' => $paged,
        'prev_next' => true,
        'prev_text' => __('« Previous'),
        'next_text' => __('Next »'),
    ));
    echo '</div>';
}
wp_reset_postdata();
?>

Метод 3. Использование ловушки pre_get_posts.
Другой подход заключается в изменении основного запроса с помощью ловушки pre_get_posts. Этот метод позволяет избежать создания вторичного запроса и напрямую изменяет основной объект запроса. Вот пример:

<?php
function custom_search_pagination($query)
{
    if ($query->is_search() && !is_admin()) {
        $query->set('posts_per_page', 10);
    }
}
add_action('pre_get_posts', 'custom_search_pagination');
?>

Внедрение нумерации страниц в результатах поиска WordPress улучшает взаимодействие с пользователем и позволяет посетителям более эффективно перемещаться по результатам поиска. В этой статье мы рассмотрели три различных метода: использование плагина WP-PageNavi, пользовательскую нумерацию страниц с помощью WP_Query и изменение основного запроса с помощью ловушки pre_get_posts. Выберите метод, который лучше всего соответствует вашим потребностям, и интегрируйте его в свою тему WordPress, чтобы обеспечить удобство поиска на вашем веб-сайте.

Не забудьте оптимизировать свой контент для поисковых систем и удобства пользователей, используя соответствующие метатеги, релевантные ключевые слова и привлекательные заголовки.