 Сейчас пишу тему для Wordpress. Там нужно реализовать постраничную навигацию. Для этого есть специальный плагин - WP Page Numbers называется. В нем 570 (пятьсот семьдесят) строчек кода! И это не считая CSS (см. скриншот). Я не понимаю, почему надо настолько усложнять такие простые вещи
Сейчас пишу тему для Wordpress. Там нужно реализовать постраничную навигацию. Для этого есть специальный плагин - WP Page Numbers называется. В нем 570 (пятьсот семьдесят) строчек кода! И это не считая CSS (см. скриншот). Я не понимаю, почему надо настолько усложнять такие простые вещи  ?
?
У меня это заняло 20 строк с подробными комментариями (см. под кат). Правда в плагине Page Numbers есть поддержка стилей, а в моем примере правильно было бы добавить какой нибудь CSS. Но это мало что меняет...
PS: Что-бы выложить эти 20 строчек кода, нужно их оформить. Хотел скачать плагин для подсветки кода, но он оказался еще монстроурознее - 1.3 мегабайта. Это, блин, почти как сам Wordpress! Слава богу, что для оформления кода нашелся отличный сервис CodeHighlighter.Моя версия на 20 строк
1 $maxp=5; //Количетво видимых страниц
2 $pcnt=$wp_query->max_num_pages; //Количетво страниц всего
3 // get_pagenum_link(номер)— функция WP, возвращает ссылку на страницу
4
5 if ($pcnt>1)
6 {
7 if (!$paged) {$paged = 1;} //Номер текущей страницы
8 else {echo "<a href='".get_pagenum_link($paged-1)."'>« Prev</a>";}
9
10 for ($i=1; $i<=$pcnt; $i++)
11 {
12 if (($i>$maxp)&&($i<$pcnt-$maxp)) {$i=$pcnt-$maxp+1; echo " —";}
13 //Если нарисовали первые $maxp страниц,
14 // ставим многоточие, и рисуем последние $maxp страниц
15 if ($i!=$paged) {echo " <a href='".get_pagenum_link($i)."'>$i</a>";}
16 else echo " $i";
17 }
18
19 if ($paged!=$pcnt) {echo "<a href='".get_pagenum_link($paged+1)."'>Next »</a>";}
20 }
 
      
               
               
               
               
               
               
               
               
              