Добавляем нумерацию (пагинацию) страниц без плагинов в WordPress

Сразу после установки, "голый" вордпресс поставляется без нумерации страниц, навигация осуществляется по ссылкам "старые записи", "новые записи", которые появляются внизу страницы (сразу после записей). Благодаря таким плагинам как WP-Pagenavi создать нумерацию страниц очень просто. Однако, если вы, как и я стараетесь использовать минимум плагинов, то предлагаю вам использовать способ ниже:

Как обычно, данный сниппет нужно вставить в файл functions.php, который находится в папке вашего активного шаблона.

]function pagination($pages = '', $range = 4)
{ 
     $showitems = ($range * 2)+1; 
 
     global $paged;
     if(empty($paged)) $paged = 1;
 
     if($pages == '')
     {
         global $wp_query;
         $pages = $wp_query->max_num_pages;
         if(!$pages)
         {
             $pages = 1;
         }
     }  
 
     if(1 != $pages)
     {
         echo "n";
     }
}

Далее, украсим наш будущий список, добавив следующие стили в файл style.css вашего шаблона.

.pagination {
clear:both;
padding:20px 0;
position:relative;
font-size:11px;
line-height:13px;
}
 
.pagination span, .pagination a {
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#fff;
background: #555;
}
 
.pagination a:hover{
color:#fff;
background: #3279BB;
}
 
.pagination .current{
padding:6px 9px 5px 9px;
background: #3279BB;
color:#fff;
}
Ну и наконец, выведем нумерацию в нашем шаблоне, разместив в нужном месте нашу функцию:
if (function_exists("pagination")) {
    pagination($additional_loop->max_num_pages);
} 
Как правило, нумерацию страниц размещается на страницах результата поиска, категорий, архивах. Поэтому место для размещения данной функции может быть в фалах:
  • loop.php - Общий файл вывода записей
  • archive.php - Шаблон вывода записей архива
  • category.php - шаблон вывода записей категории
  • index.php - основной файл вашего шаблона
Блог WordPress плагины и хаки Добавляем нумерацию (пагинацию) страниц без плагинов в WordPress