Как использовать WP_Query для создания пагинации в WordPress

Опубликовано: 2021-08-31

Один из продуктивных способов увеличить количество просмотров страниц вашего веб-сайта с оптимальным показателем отказов — использовать WP_Query для создания разбивки на страницы в WordPress.

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

Что такое WP_Query?
WP_Query — один из самых важных классов в WordPress, поскольку он дает вам доступ к записям, сообщениям, страницам и пользовательским типам сообщений в базе данных.

Между тем, разработчикам не нужно писать сложные SQL-запросы к базе данных, чтобы получить необходимую информацию о сообщениях, страницах или пользовательских типах сообщений, потому что WP_Query сделает все это за нас.

Что такое пагинация в WordPress и зачем она нужна?
Разбивка на страницы — одна из основных функций, которую любой пользователь WordPress может использовать для различных целей. Хорошей практикой является разделение длинных сообщений на несколько частей и демонстрация каждого из них на новой странице.

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

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

Разделение вашей статьи или длинных описаний на столько страниц, сколько покажется целесообразным, поможет читателям усвоить всю информацию, не раздражаясь.

Если вы являетесь веб-мастером WordPress или владельцем веб-сайта WordPress, мы уверены, что вы знаете о встроенной в WP функции разбивки на страницы, которую вы можете легко использовать со ссылками или числовой разбивкой на страницы для разделения длинных сообщений на столько разных частей, сколько необходимо, и демонстрации их на предыдущей и следующей страницах. соответственно.

Помимо того, что ваши статьи и посты становятся более понятными и разборчивыми, нумерация страниц имеет и другие преимущества.

Это сделает общий внешний вид вашего сайта более точным и компактным, добавит количество просмотров страниц вашего сайта, поможет снизить показатель отказов, повысит рейтинг SEO и предоставит вам больше страниц для размещения рекламы и многое другое.

Однако этот метод не всегда легко работает с современными темами и шаблонами WordPress. Поэтому мы предлагаем вам использовать WP_Query для создания пагинации в WordPress.

Прежде чем мы углубимся в процесс с подробным описанием того, как использовать WP_Query для создания разбивки на страницы в WordPress, мы рекомендуем вам ознакомиться со справочником классов WP Query в WordPress Codex: https://codex.wordpress.org/Class_Reference/WP_Query#Usage. .

Теперь, когда у вас есть общее представление о WP_Query и его использовании, давайте поделимся с вами примером запроса.

<?php

/**

* Имя шаблона: Пользовательская страница

*/

получить_заголовок(); ?>

<?php

$paged = (get_query_var('paged'))? get_query_var('выгружается'): 1;

$аргументы = массив(

'сообщений_на_странице' => 4,

'выгружается' => $paged

);

$custom_query = новый WP_Query($args);

?>

<!---- начало-------->

<div class="wrap">

<div class="content-area">

<main class="site-main" role="main">

<?php

в то время как($custom_query->have_posts()):

$custom_query->the_post();

?>

<раздел>

<ул>

<свет>

<h3><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></h3>

<раздел>

<ул>

<div><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a></div>

</ul>

<ул>

<p><?php echo the_content(); ?></p>

</ul>

</дел>

<раздел>

</li>

</ul>

</дел> <!-- конец сообщения в блоге -->

<?php конечный; ?>

<?php if (function_exists("разбиение на страницы")) {

разбиение на страницы ($ custom_query-> max_num_pages);

} ?>

</main><!-- #main -->

</div><!-- #primary -->

</div><!-- .wrap -->

<!----конец-------->

<?php get_footer();

Как использовать WP_Query для создания пагинации в WordPress
Код для рендеринга пагинации
Создайте файл шаблона с именем CustomPage.php в папке темы и добавьте указанный ниже фрагмент кода на пользовательскую статическую страницу.

<?php if (function_exists("разбиение на страницы")) {

разбиение на страницы ($ custom_query-> max_num_pages);

} ?>

Перейдите в панель администратора, чтобы создать страницу, и выберите пользовательскую страницу в качестве шаблона.
Кроме того, вам нужно будет использовать следующий код, чтобы заставить работать пользовательскую разбивку на страницы: Вам нужно будет добавить этот код в functions.php (находится в папке вашей темы).

функция пагинации ($pages = ", $range = 4)

{

$showitems = ($range * 2)+1;

глобальный $paged;

если (пусто ($ paged)) $ paged = 1;

если($страницы == '')

{

глобальный $wp_query;

$pages = $wp_query->max_num_pages;

если(!$страниц)

{

$страниц = 1;

}

}
если(1 != $страниц)

{

echo "<div class=\"pagination\"><span>Страница ".$paged." из ".$pages."</span>";

if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>« Первая</a>»;

if($paged > 1 && $showitems < $pages) echo “<a href='”.get_pagenum_link($paged – 1).”'>‹ Предыдущая</a>”;

для ($i=1; $i <= $pages; $i++)

{

if (1 != $pages &amp;&amp;( !($i &gt;= $paged+$range+1 || $i &lt;= $paged-$range-1) || $pages &lt;= $showitems ) )

{

эхо ($paged == $i)? "&lt;span class=\"current\"&gt;".$i."&lt;/span&gt;":"&lt;a href='".get_pagenum_link($i)."' class=\"inactive\" &gt;".$i."&lt;/a&gt;";

}

}
if ($paged &lt; $pages &amp;&amp; $showitems &lt; $pages) echo "&lt;a href=\"".get_pagenum_link($paged + 1)."\"&gt;Далее ›&lt;/a&gt; ";

if ($paged &lt; $pages-1 &amp;&amp; $paged+$range-1 &lt; $pages &amp;&amp; $showitems &lt; $pages) echo "&lt;a href='".get_pagenum_link($pages) ."'&gt;Последний »&lt;/a&gt;";

эхо "&lt;/div&gt;\n";

}

}

Теперь, когда нам удалось использовать WP_Query для создания пагинации в WordPress, давайте перейдем к части стилей. Естественно, теперь нам придется иметь дело с файлом style.css вместо function.php.

Найдите в папке темы style.css и добавьте в него приведенный ниже код.

/* Пагинация */
.pagination {
ясно: оба;
должность: родственница;
размер шрифта: 11px; /* Размер текста пагинации */
высота строки: 13 пикселей;
поплавок: справа; /* Направление разбиения на страницы */
}
.pagination span, .pagination a {
дисплей:блок;
плыть налево;
поле: 2px 2px 2px 0;
отступы: 6px 9px 5px 9px;
текстовое оформление: нет;
ширина:авто;
цвет:#fff; /* Цвет текста пагинации */
фон: #555; /* Цвет фона неактивного пагинации */
-webkit-transition: фон .15s easy-in-out;
-moz-transition: фон .15s easy-in-out;
-ms-transition: фон .15s easy-in-out;
-o-transition: фон .15s easy-in-out;
переход: фон .15s облегчение входа-выхода;
}
.pagination a: hover {
цвет:#fff;
фон: #6AAC70; /* Фон страницы при наведении */
}
.pagination .current{
отступы: 6px 9px 5px 9px;
фон: #6AAC70; /* Фон текущей страницы */
цвет:#fff;
}

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

Когда вы настраиваете свой веб-сайт на WordPress, одна из вещей, которую вы, возможно, захотите рассмотреть, — это использование wp_query для создания нумерации страниц в WordPress .

Конечно, вы наверняка задаетесь вопросом, зачем вам нумерация страниц, но вот почему нумерация страниц является важным аспектом любого веб-сайта.

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

Это помогает увеличить количество просмотров страниц на вашем веб-сайте и может оказаться неоценимым с точки зрения SEO и рейтинга.

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

  • Чистый, четкий вид: в результате нумерации страниц вы сможете сделать свои сообщения короче и в процессе оставить свою первую страницу незагроможденной. Это должно позволить вам представить своим клиентам чистый, четкий вид.

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

  • Маркетинг: с нумерацией страниц вы сможете сократить длину сообщений и оптимизировать ее в процессе.

    С помощью этого плагина вы можете решить, какие сообщения вы хотите обрезать короче, и даже настроить сообщение, чтобы оно выглядело более привлекательным для конечного пользователя.

    В результате ваш трафик должен увеличиться, и в процессе вы также сможете больше взаимодействовать со своими пользователями, чем раньше.

  • Взаимодействие с пользователями: ни один пользователь не хочет читать длинный пост прямо на главной странице; вот почему важно использовать нумерацию страниц, чтобы посты были короткими.

    Пользователи оценят лаконичный внешний вид, быструю загрузку страниц, и, как следствие, вы сможете больше взаимодействовать с ними.

    Когда в игру вступает разбиение на страницы, вы сможете поддерживать показатель отказов на оптимальном уровне, поддерживать достаточный интерес аудитории и, что более важно, увеличивать количество просмотров страниц на вашем веб-сайте.

    В результате вы обязательно повысите свой рейтинг, а также повысите коэффициент онлайн-конверсии.

Вот некоторые из причин, по которым вам необходимо иметь разбивку на страницы на вашем веб-сайте, поскольку это может помочь вашему веб-сайту работать еще лучше, чем раньше.

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