Слишком много кода…

1. WP Page NumbersСейчас пишу тему для Wordpress. Там нужно реализовать постраничную навигацию. Для этого есть специальный плагин — WP Page Numbers называется. В нем 570 (пятьсот семьдесят) строчек кода! И это не считая CSS (см. скриншот). Я не понимаю, почему надо настолько усложнять такие простые вещи :???:?

У меня это заняло 20 строк с подробными комментариями (см. под кат). Правда в плагине Page Numbers есть поддержка стилей, а в моем примере правильно было бы добавить какой нибудь CSS. Но это мало что меняет…

PS: Что-бы выложить эти 20 строчек кода, нужно их оформить. Хотел скачать плагин для подсветки кода, но он оказался еще монстроурознее — 1.3 мегабайта. Это, блин, почти как сам Wordpress! Слава богу, что для оформления кода нашелся отличный сервис CodeHighlighter.

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 }
Рейтинг: 2
Comments:
Александра

По моему у Вас украли эту статью и поместили на другом сайте. Я её уже видела.

Graf

Да нет, не украли. Скорее всего вы ее видели на Сообществе Техноблогеров. Интересный проект, я сам подавал туда заявку. :)

василии

Я тоже её уже видел,и не там…

katushka

Исторически так сложилось

Alex

Ну что сказать, Молодец! А на счет других движков подумываешь?

Технолог

Лично я был в восторге от Geshi Filter. Не знаю реализован он под вордпресс, но под друпал работает великолепно.

Leave a Reply:




* После модерации ссылки ставятся с dofollow. При модерации отсекаются сателлиты и прочие спамерские сайты.