Привет, сегодня рассмотрим для многих важную тему. А имеено как сделать WordPress постраничная навигация с цифрами без плагина.
Всем известно, что в WordPress по умолчанию выводиться постраничная навигация в виде «Предыдущий» и «Следующий», без указания ссылок на все страницы постраничной навигации. Это не очень хорошо ни с точки зрения SEO ни с точки зрения пользователей.
Сегодня мы научимся делать WordPress постраничная навигация с цифрами и ссылками на все страницы без плагинов.
Как сделать WordPress постраничная навигация
Проще всего это сделать при помощи нативной функции paginate_links:
<?php echo paginate_links( $args ) ?>
Эта функция генерирует HTML код, который выводит ссылки на страницы блога, с цифрами. Как видите, в эту функцию передаётся параметр $args. Стандартые аргументы этой функции (массив $args) выглядит вот так:
$args = array( 'base' => '%_%', 'format' => '?page=%#%', 'total' => 1, 'current' => 0, 'show_all' => False, 'end_size' => 1, 'mid_size' => 2, 'prev_next' => True, 'prev_text' => __('« Previous'), 'next_text' => __('Next »'), 'type' => 'plain', 'add_args' => False, 'add_fragment' => '' );
Очевидно, что можно их поменять, и передать в функцию измененные значения аргументов, например можно поменять заголовки для ссылок «предыдущий» и «следующий», или вообще выключить их всех.
Так, при помощи этой функции, мы сможем вывести в wordpress страницы постраничной навигации. Соберем все вместе и посмотрим что же нужно вставить в шаблон, чтобы вывелись эти ссылки на страницы постраничной навигации:
str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?page=%#%', 'total' => $wp_query->max_num_pages, 'current' => max( 1, get_query_var( 'paged') ), 'show_all' => false, 'end_size' => 3, 'mid_size' => 2, 'prev_next' => True, 'prev_text' => __('« Назад'), 'next_text' => __('Вперед »'), 'type' => 'list', ); echo paginate_links($args); ?>
Все, в результате мы получим постраничную навигацию такого вида: