Как сделать кастомные пагинации?

Кастомные пагинации в WordPress можно реализовать, используя несколько шагов:

Шаг 1: Создать шаблон пагинации
Создайте новый файл в вашей теме WordPress с именем pagination.php. В этом файле вы будете определять структуру вашей кастомной пагинации.

Вот пример, как может выглядеть структура пагинации:

<div class="pagination">
    <?php if (get_previous_posts_link()) : ?>
        <div class="prev-page"><?php previous_posts_link(__('« Previous', 'textdomain')); ?></div>
    <?php endif; ?>
    <?php if (get_next_posts_link()) : ?>
        <div class="next-page"><?php next_posts_link(__('Next »', 'textdomain')); ?></div>
    <?php endif; ?>
</div>

Это основная структура пагинации, которая включает ссылки на предыдущую и следующую страницы, если они доступны.

Шаг 2: Вставить пагинацию в шаблон страницы
Определите, в каком файле вашей темы вы хотите разместить пагинацию (например, archive.php или index.php). Откройте файл и найдите место, где вы хотите разместить пагинацию.

Вставьте следующий код в это место:

<?php
    if (function_exists('wp_pagenavi')) {
        wp_pagenavi();
    } else {
        get_template_part('pagination');
    }
?>

Этот код проверяет наличие плагина "WP-PageNavi" и, если он установлен и активирован, использует его функцию wp_pagenavi() для вывода пагинации. В противном случае, код подключает ваш созданный файл с кастомной пагинацией pagination.php.

Шаг 3: Стилизация пагинации
Стилизуйте вашу кастомную пагинацию, добавив нужные CSS классы в ваш файл стилей (style.css):

.pagination {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.pagination .prev-page,
.pagination .next-page {
    margin: 0 10px;
}

В этом примере я применил некоторые стили для общего контейнера .pagination и для каждой ссылки .prev-page и .next-page. Вы можете настроить стили в соответствии со своими потребностями.

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