Как добавить пагинацию в свою тему WordPress?
Здравствуйте!
У меня возникла проблема при попытке добавить пагинацию на свою тему WordPress. Я хотел бы узнать, как это можно сделать.
У меня есть следующий код:
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => get_query_var('paged') ? get_query_var('paged') : 1
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Вывод контента поста
}
// Вывод пагинации здесь
echo paginate_links(array(
'total' => $query->max_num_pages,
'current' => max(1, get_query_var('paged')),
'prev_next' => false,
'type' => 'list'
));
wp_reset_postdata();
} else {
// Сообщение о том, что постов не найдено
}
Я пытаюсь добавить пагинацию после вывода контента постов, но она не отображается. Что я делаю не так? Как правильно добавить пагинацию в свою тему WordPress?
Заранее спасибо за помощь!
Ответы:
Проблема, которую ты описал, связана с использованием функции `paginate_links()`. В этой функции ты передаешь параметр `'type' => 'list'`, который ожидает, что у тебя будет сгенерирован список пагинации. Однако, ты не создал соответствующий HTML-код для пагинации.
Чтобы исправить эту проблему, тебе нужно добавить соответствующий HTML-код для пагинации перед вызовом функции `paginate_links()`. Вот пример того, как это можно сделать:
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => get_query_var('paged') ? get_query_var('paged') : 1
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Вывод контента поста
}
// Добавляем пагинацию перед функцией paginate_links()
echo '';
echo paginate_links(array(
'total' => $query->max_num_pages,
'current' => max(1, get_query_var('paged')),
'prev_next' => false,
'type' => 'list'
));
echo '';
wp_reset_postdata();
} else {
// Сообщение о том, что постов не найдено
}
В приведенном примере я добавил обертку `` с классом "pagination" вокруг пагинации. Ты можешь изменить этот код и стилизовать пагинацию по своему усмотрению.
Обрати внимание, что я также включил открытый и закрытый теги `
` для обертки пагинации в основной HTML-код. Это нужно для того, чтобы HTML-код был правильно отображен на твоем сайте.
Надеюсь, что это решит твою проблему с пагинацией в твоей теме WordPress. Если у тебя есть какие-либо дополнительные вопросы, не стесняйся задавать!